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源链接,进入详情页,根据提示安装,以在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