百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

centos7安装部署gitlab centos7安装部署oracle19命令安装

liuian 2024-12-24 14:18 106 浏览

一、Gitlab介

1.1 gitlab信息


GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。

它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

本篇教程将教你如何安装部署及使用GitLab。

GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。

GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。

1.2 Git的家族成员


Git:是一种版本控制系统,是一个命令,是一种工具。

Gitlib:是用于实现Git功能的开发库。

Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

1.3 Gitlab的服务构成


Nginx:静态web服务器。

gitlab-shell:用于处理Git命令和修改authorized keys列表。

gitlab-workhorse: 轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)。

unicorn: An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

1.4 GitLab工作流程

1.5 gitlab与github

GitHub:
是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub
GitLab:
GitLab拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问,
GitHub如果使用私有仓库,是需要付费的,GitLab可以在上面搭建私人的免费仓库

二、Gitlab安装

首先安装Git,参考centos 7 安装 git 2.38.0

2.1 方式一(use): 下载gitlab-ce的rpm包

下载地址: gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm

1) 下载
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm

2) 安装依赖
yum -y install policycoreutils openssh-server openssh-clients postfix policycoreutils-python

3) 开始rpm包安装
rpm -ivh gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm

2.2 方式二: 配置yum源

vim /etc/yum.repos.d/gitlab.repo

[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
Repo_gpgcheck=0
Enabled=1
gpgcheck=0
Gpgkey=https://packages.gitlab.com/gpg.keyyum clean all && yum makecache

yum -y install gitlab-ce                ===>最新版(会报错)
yum -y install gitlab-ce-13.6.1         ===>指定版本
yum -y install gitlab-ce --nogpgcheck   ===>不检查安装

三、配置gitlab

其它配置参考官网: Omnibus GitLab 日志 | 极狐GitLab

3.1 修改端口号等

vi /etc/gitlab/gitlab.rb
external_url 'http://192.168.109.128:9090'# ===>这里一定要加上http://

配置默认日志目录

在 /etc/gitlab/gitlab.rb 文件中,有许多用于各种类型日志的 log_directory 键。取消注释并更新要放置在其他地方的所有日志的值:

# For example:
gitlab_rails['log_directory'] = "/var/log/gitlab/gitlab-rails"
puma['log_directory'] = "/var/log/gitlab/puma"
registry['log_directory'] = "/var/log/gitlab/registry"
...

3.2 Gitlab邮箱配置

在安装gitlab后,未添加邮件提供功能(比如,添加一个用户,就给他发邮件提醒),需要配置发邮件的 smtp 服务器配置。发信系统用的默认的postfix,smtp是默认开启的,两个都启用了,两个都不会工作。

3.2.1 修改配置

此处使用个人的qq邮箱配置 smtp。 也就是发邮件通知时,发件人邮箱地址是这个 qq邮箱。配置如下:

在 /etc/gitlab/gitlab.rb 中添加以下配置信息,并执行 gitlab-ctl reconfigure 命令。

这里以QQ exmail (腾讯企业邮箱)为例

其它邮箱配置参考:SMTP 配置 | 极狐GitLab

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"# 示例
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "fiend@sintech.cn"
gitlab_rails['smtp_password'] = "123qwe"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'fiend@sintech.cn'
gitlab_rails['smtp_domain'] = "exmail.qq.com"

3.2.3 修改后执行, 执行以下命令

gitlab-ctl reconfigure
gitlab-ctl restart

3.2.4 测试

测试邮件发信功能

gitlab-rails console

进入控制台后,输入

Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
# 例如:
Notify.test_email('opp123@qq.com', '邮件标题', '邮件正文').deliver_now

四、Gitlab常用命令

# 开启,关闭,重启: gitlab组件
gitlab-ctl {start|stop|restart|status} 		
gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl status

# 重载配置文件(重新编译gitlab的配置)
gitlab-ctl reconfigure

# 验证配置文件
gitlab-ctl show-config   

# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace    

# 查看日志
gitlab-ctl tail
gitlab-ctl tail nginx/gitlab_access.log
gitlab-ctl tail nginx/gitlab_error.log

# 常用目录
日志地址:/var/log/gitlab/   # 对应各服务的打印日志 
服务地址:/var/opt/gitlab/   # 对应各服务的主目录 

五、访问 GitLab页面

5.1 登录web页面

如果没有域名,直接输入服务器ip和指定端口进行访问,密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除

5.2 创建项目(假设项目名叫app01):

# 创建组--->创建用户-->添加User到Group中并授权---> |# 配置SSH(右上角个人-settings-SSH Keys)--->往项目中添加成员---> |# 将本地文件推送到Gitlab---># 将app01项目克隆下来
git clone git@192.168.1.112:java/app01.git

# 初始化配置
git config --global user.name "hgzero"
git config --global user.email "hgzero@qq.com"# 推送到gitlab
git add .
git commit -m "first edition"
git push origin master

5.3 配置密钥文件

5.3.1 生成ssh

ssh-keygen -t rsa -C 'xxx@xxx.com'

然后一路回车(-C 参数是邮箱地址)

5.3.2 复制ssh

打开
~/.ssh/id_rsa.pub文件
(~表示用户目录,windows就是C:\Users\Administrator),
复制其中的内容

5.3.3 浏览器界面设置

打开gitlab,
找到Profile Settings–>SSH Keys—>Add SSH Key,
并把上一步中复制的内容粘贴到Key所对应的文本框,
在Title对应的文本框中给这个sshkey设置一个名字,
点击Add key按钮

5.3.4 Gitlab Project设置ssh key

在GitLab的主页中新建一个Project


添加ssh key导入步骤2中生成的密钥文件内容:


ssh key添加完成:

六、GitLab备份和恢复

6.1 备份

vi /etc/gitlab/gitlab.rb

# 备份保存的位置,这里是默认位置,可修改成指定的位置
[root@node2 ~]# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"# 设置备份保存的时间,超过此时间的日志将会被新覆盖
[root@node2 ~]# gitlab_rails['backup_keep_time'] = 604800		# 这是默认设置,保存7天

如果自定义了备份保存位置,则要修改备份目录的权限,比如:
[root@node2 ~]# chown -R git.git /data/backup/gitlab# 重读配置文件
[root@node2 ~]# gitlab-ctl reconfigure  # 重启gitlab
[root@node2 ~]# gitlab-ctl restart# 可以将此命令写入crontab,以实现定时备份
[root@node2 ~]# /usr/bin/gitlab-rake gitlab:backup:create
    
设置定时任务
[root@node2 ~]# crontab -e#每天凌晨2点定时创建备份
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create		

# 备份时间的识别# 备份后的文件类似这样的形式:1494170842_gitlab_backup.tar,# 可以根据前面的时间戳确认备份生成的时间date -d @1494170842
2017年 05月 07日 星期日 11:27:22 EDT

6.2 恢复gitlab

# 停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 进行恢复
# 下面的时间戳就是刚刚备份的文件前面的时间戳
gitlab-rake gitlab:backup:restore BACKUP=1494170842  

# 重启
gitlab-ctl restart

服务器修改过ssh端口的坑(需要修改配置ssh端口)
# 如修改了ssh端口,则需在gitlab中配置ssh地址
# gitlab会在前面加上协议头和端口号"ssh://git@gitlab.domain.com:55725/huangdc/test.git"

vim /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_shell_ssh_port'] = 55725
#使配置生效
gitlab-ctl reconfigure
#重新启动GitLab 
gitlab-ctl restart

相关推荐

高端显卡(带DVI接口的最高端显卡)

高级显卡有很多用处。首先,它可以提高电脑图形和处理的高清度和速度,使得用户可以流畅的玩游戏、观看高清电影等。其次,高级显卡可以支持更加复杂的计算任务,比如机器学习、科学计算等,因此在这些任务中能够提升...

flash动画软件(Flash动画软件下载)

你好,如果希沃白板里的Flash图标无法播放,可能是因为以下原因:1.缺少Flash插件:Flash图标需要AdobeFlashPlayer插件来播放。请确保您的设备上已安装最新版本的Flash...

windows10多少钱一年(windows10 多少钱)

2023年版的Windows10将是一个经过进一步改进和优化的操作系统。它将提供更快的启动速度和更高的性能,同时增强了安全性和稳定性。用户界面可能会有一些改变,以提供更好的用户体验。此外,它还将支持...

outlook官方下载(outlook官网app下载)

1、解锁手机进入系统后,在手机中选择电子邮箱的应用进入。2、进入应用主界面后,在页面中选择exchange的选项,进入邮箱的添加界面。3、点击后,在页面中输入自己的outlook邮箱地址和密码,点击登...

我wifi连上却不能上网怎么办

wifi能够连接,但是不能上网,说明用户使用的wifi网络没有成功连接外网。这个情况出现的原因可能有如下几点:用户使用的无线路由器没有开启自动拨号功能。用户填写的账号密码有误,无法成功联网。当地线路故...

家庭用win10哪个版本好(windows10家庭用什么版本)

1.家庭版:仅包含基础功能,在所有版本中功能最少,适合普通用户;2.专业版:包含大量高级功能,适合高端用户群体使用;3.企业版:针对企业用户推出的版本,提供批量授权。1.家庭版从名称中就可以知道主要面...

u盘修复工具破解版(u盘修复工具下载)

1、首先打开电脑浏览器,搜索“嗨格式数据恢复大师”,选择软件主界面中的“快速扫描恢复”模式对磁盘进行扫描。2、当扫描模式选择完成后,也就需要选择“原数据文件所存储的位置”,此时可直接选择我们所插入的“...

电脑如何连接宽带步骤(电脑如何连接宽带步骤操作)
电脑如何连接宽带步骤(电脑如何连接宽带步骤操作)

电脑连接宽带连接方法如下1、首先,打开控制面板,进入“网络和Internet”选项2、然后,点击打开“网络和共享”选项;3、接着,我们点击“设置新的连接或网络”选项;4、这里我们选择宽带(PPPoE)选项,该选项就是表示宽带上网5、然后,输...

2025-12-27 14:55 liuian

邮箱免费注册入口(个人邮箱注册申请免费注册)

163邮箱官网注册入口是;https://smart.mail.163.com/login.htm163邮箱注册方法;1在浏览器搜索“网易邮箱”。2进入网易邮箱官网https://smart.mail...

windows7如何换主题(win7系统如何更改主题)

在Windows7中更改主题的方法如下:1.点击桌面空白处,选择“个性化”选项。2.在“个性化”窗口中,可以直接选择几种预设好的主题,或者点击“获取更多主题”在线下载更多主题。3.如果要自定义...

thinkpad x390(thinkpadx390哪一年的)

x390好,他是最新的芯片,他的性能方面得到了很大的提升,用的也是最新的工艺和材料,所以在性能表现上提升了很。他用的是最新的处理方式,在使用的时候不需要大安心。他发热发烫,对电量的控制也做得比较到位,...

iso文件要解压吗(iso文件要解压吗手机)

一般来说,整个一套的iso体系文件还是比较多的,如果是通过邮件等形式来传送的话,一般都会把文件进行压缩后再传送,以便文件能够顺利发送。所以在接收到这些文件后需要解压后才能够查阅。如果电脑里没有解压程序...

sd卡未格式化是什么意思(sd卡提示格式化但无法格式化)

存储卡未格式化意味着该SD卡上没有被操作系统识别的文件系统。这通常发生在初次使用SD卡时,或者在从另一台设备中移除SD卡后插入到新设备时。在这种情况下,您需要格式化SD卡以便于使用。请注意,格式化会清...

附近上门维修电话(附近修门窗上门维修电话)

供电公司的资产产权到用户的计量箱计量箱以下的线路和室内设备属于用户资产,所以9598电工有权可以拒绝电表以下线路的维修,如果房屋内的线路或电苗以下线路存在损坏故障无法正常使用时,可以找相关维修机构进行...

ghost硬盘镜像(ghost硬盘镜像备份)

答具体方法如下步骤一:打开“ToDisk”对拷选项(1)首选打开Ghost工具,进入界面后,选择“Local”→“Disk”→“ToDisk”。步骤二:选择源数据硬盘(2)我们需要选择源数据硬盘...