当前位置: > 其它学习 > 持续集成 >

持续集成系列(2)------中文私有git仓库gitlab搭建

时间:2019-01-22 14:09来源:未知 作者:IT
持续集成系列(2)------中文私有git仓库gitlab搭建
 
文章目录
持续集成系列(2)------中文私有git仓库gitlab搭建
gitlab简介
环境准备
gitlab安装
gitlab升级
配置邮件通知及访问域名
gitlab登陆
 
## 目标 gitlab+jenkins+docker+harbor+k8s初步实现持续集成
gitlab简介
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
 
 
环境准备
系统:Centos7.4
docker v17.03
ip:10.79.163.41
域名:git.domain.com
gitlab安装
 
获取镜像 ``` docker pull beginor/gitlab-ce ``` 运行 通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。 ``` mkdir -p /opt/gitlab/etc mkdir -p /opt/gitlab/log mkdir -p /opt/gitlab/data ``` 准备好这三个目录之后, 就可以开始运行 Docker 镜像了。 我的建议是使用unless-stopped 作为重启策略, 因为这样可以手工停止容器, 方便维护。
完整的运行命令如下:
 
docker run \
    --detach \
    --publish 443:443 \
    --publish 80:80 \
    --name gitlab \
    --restart unless-stopped \
    --volume /opt/gitlab/etc:/etc/gitlab \
    --volume /opt/gitlab/log:/var/log/gitlab \
    --volume /opt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce
 

 
gitlab升级
小版本升级(例如从 8.8.2 升级到 8.8.3), 参照官方的说明, 将原来的容器停止, 然后删除:
 
docker stop gitlab
docker rm gitlab
 
然后重新拉一个新版本的镜像下来,
 
docker pull beginor/gitlab-ce
 
还使用原来的运行命令运行,
 
docker run \
    --detach \
    --publish 443:443 \
    --publish 80:80 \
    --name gitlab \
    --restart unless-stopped \
    --volume /opt/gitlab/etc:/etc/gitlab \
    --volume /opt/gitlab/log:/var/log/gitlab \
    --volume /opt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce
 

 
GitLab 在初次运行的时候会自动升级, 为了预防万一, 还是建议先备份一下 /opt/gitlab/ 这个目录。
 
大版本升级(例如从 8.7.x 升级到 8.8.x)用上面的操作有可能会出现错误, 如果出现错误可以尝试登录到容器内部, 依次执行下面的命令:
 
gitlab-ctl reconfigure
gitlab-ctl restart
 

 
配置邮件通知及访问域名
常用邮箱服务配置方式
以腾讯企业邮为例
 
docker exec -it gitlab bash
cat >>/etc/gitlab/gitlab.rb<<EOF
#配置smtp
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "username@domain.com"
gitlab_rails['smtp_password'] = "yourpassword"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'username@domain.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
#配置外部访问地址
external_url 'http://git.domain.com'
EOF
gitlab-ctl reconfigure
exit
 

 
gitlab登陆
浏览器访问http://git.domain.com
初始用户为root,首次登陆会让你设置root密码
 
 

(责任编辑:IT)
------分隔线----------------------------