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

持续集成系列——中文私有git仓库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'] = "[email protected]"
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'] = '[email protected]'
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密码
这里写图片描述

猜你喜欢

转载自blog.csdn.net/ct1150/article/details/81699868