自动化运维持续集成(CI)和持续发布(CD)系列·GitLab

GitLab是一个开源的Git仓库管理平台,实现完整的持续集成(CI)、持续发布(CD)流程。与Github的不同之处仅在于,Github不提供免费的私有项目服务,而GitLab恰好能够提供本地化的、可定义项目属性的服务,因此,一般企业更愿意使用GitLab进行项目管理。

GitLab官网,本文以在CentOS7中部署社区版本为例,其他平台的安装方法请参阅官网文档

部署

安装依赖包

# 安装依赖包 curl policycoreutils-python openssh-server perl
yum -y install policycoreutils-python perl

# 配置防火墙
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
systemctl reload firewalld

# 安装邮件服务
yum -y install postfix
systemctl enable postfix
systemctl start postfix

安装GitLab

自动安装

# 安装社区版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
yum install -y gitlab-ce
# 在安装时配置url,须修改https://gitlab.example.com为本地域名
# EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce

# 安装企业版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee

手动安装

社区版rpm源地址
企业版rpm源地址

点击对应的版本的rpm源链接,进入详情页,根据提示安装,以在CentOS7中安装社区版为例:

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-13.12.4-ce.0.el7.x86_64.rpm/download.rpm
yum -y install gitlab-ce-13.12.4-ce.0.el7.x86_64.rpm

完成安装。

配置

GitLab的默认配置文件是/etc/gitlab/gitlab.rb,以下是最常见的基本配置:

# 修改站点访问URL或者IP地址
# external_url 'http://10.10.200.202'
external_url 'http://gitlab.example.com'

# 配置邮件服务使GitLab在发行事件时进行邮件通知
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.example.com'
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = 'user@example.com'
gitlab_rails['smtp_password'] = 'MyPasswd'
gitlab_rails['smtp_domain'] = 'smtp.example.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'user@example.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'

# 禁用普通用户创建组的权限
### GitLab user privileges
gitlab_rails['gitlab_default_can_create_group'] = false

修改后执行以下命令重新配置并启动GitLab:

gitlab-ctl reconfigure

访问GitLab页面,首次登录时会提示设置管理员账号密码,默认账号是root,完成设置后即可通过root账号登录。

如果忘记root密码,可以通过以下命令进行重置:

gitlab-rails console -e production
# 选中root账号,可通过User.all查看所有用户
u=User.where(id:1).first
# 输入新密码
u.password='Password123'
# 确认新密码
u.password_confirmation='Password123'
# 保存新密码
u.save!

基本操作

配置用户。不建议使用root账号进行日常操作,进入管理中心新增一个普通账号,通过该账号管理项目即可。

创建项目。在顶部菜单项目或者管理中心均可以创建项目,配置项目名称、标识串和可见性级别等,点击新建项目按钮即可。

配置密钥。本地连接GitLab同步代码,需要将本地SSH公钥复制到GitLab的密钥库。Windows主机安装Git后,运行 Git Bash 即可和Linux系统一样,通过“ssh-keygen -t rsa”命令生成密钥对,然后进入GitLab的用户中心,添加SSH公钥。

常用命令

命令格式:gitlab-ctl <命令>

命令 说明
check-config 检查在gitlab中是否有任何配置
deploy-page 安装部署页面
diff-config 将用户配置与包可用配置进行比较
once 如果GitLab服务停止了就启动服务,如果已启动则不进行任何操作
reconfigure 重新配置GitLab并启动
remove-accounts 删除所有用户和组
restart 重启GitLab服务
service-list 查看所有服务
start 如果GitLab服务停止了就启动服务,如果已启动则重启服务
status 查看GitLab服务状态
stop 停止GitLab服务
upgrade 升级

原创文章禁止转载:技术学堂 » 自动化运维持续集成(CI)和持续发布(CD)系列·GitLab

精彩评论

8+3=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏