• 92761

    文章

  • 775

    评论

  • 17

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

使用Docker 快速部署 gitlab

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

使用Docker 快速部署 gitlab


安装 gitlab

gitlab 是深受企业用户喜爱的基于 git 的代码管理系统。本文使用 Docker 方式安装 gitlab:
这是一种快速高效的部署方式,相对于传统方式,这种部署可以有效的节省时间和过程。

  • 环境:Ubuntu 16.04,虚机内存/CPU/存储请根据实际使用情况配置,一般4C/8G/200G足够
  • 安装 docker: 18.06.1-ce

准备启动脚本

$ cat > gitlab-setup.sh << EOF #!/bin/bash # 注意:设置 gitlab_shell_ssh_port 是为了后续可以使用 SSH 方式访问你的项目 docker run --detach \\ --hostname gitlab.test.com \\ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.test.com/'; gitlab_rails['gitlab_shell_ssh_port'] = 6022;" \\ --publish 443:443 --publish 80:80 --publish 6022:22 \\ --name gitlab \\ --restart always \\ --volume /srv/gitlab/config:/etc/gitlab \\ --volume /srv/gitlab/logs:/var/log/gitlab \\ --volume /srv/gitlab/data:/var/opt/gitlab \\ registry.docker-cn.com/gitlab/gitlab-ce:11.2.2-ce.0 EOF

执行启动脚本:sh gitlab-setup.sh 执行成功后,等待数分钟可以看到

$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4f9d5f97f494 registry.docker-cn.com/gitlab/gitlab-ce:11.2.2-ce.0 "/assets/wrapper" 1 minutes ago Up 9 minutes (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:6022->22/tcp gitlab

配置 gitlab

$ docker exec -it gitlab vi /etc/gitlab/gitlab.rb

请阅读后修改(因为前面docker run 已经指定了必要参数,可以不修改,后续有需要再修改),修改保存以后需要重启容器

$ docker restart gitlab

首次访问 gitlab

使用域名gitlab.test.com或者该主机 IP 首次登陆时会要求设置 root 用户的密码,完成后就可以用 root 和新设密码登陆;然后按需创建 Group, User, Projects等,还有相关配置。
 

备份数据

无论是企业、组织、个人都十分重视代码资产,之前我们的 gitlab 安装是单机版的,虽然可以有硬盘 raid 等保护,还有是丢失 gitlab 数据和配置的风险,因此我们有必要再做一些备份操作。这里利用 crontab 定期执行 rsync 命令备份到其他服务器。

# 创建备份脚本 cat > /root/gitlab-backup.sh << EOF #!/bin/bash # 请事先配置 gitlab 服务器到备份服务器的免密码 ssh 登陆 rsync -av --delete /srv/gitlab/config '-e ssh -l root' 192.168.2.xx:/backup_gitlab/config rsync -av --delete /srv/gitlab/data '-e ssh -l root' 192.168.2.xx:/backup_gitlab/data EOF # 创建并应用 crontab cat > /etc/cron.d/gitlab-backup << EOF ## 每3个小时同步备份一次,具体根据需要修改 11 */3 * * * root bash /root/gitlab-backup.sh > /root/gitlab/sync.log 2>&1 EOF

如果 gitlab 服务器真的出现不可恢复的故障,丢失数据,那么至少保留有3小时前的备份,利用备份的文件,同样再用 docker 挂载 volume的方式运行,这样就可以恢复原 gitlab 服务运行。

升级 gitlab

因为前面使用了 docker 方式安装,因此 gitlab 升级很方便。

  • 升级前停止/删除容器:$ docker stop gitlab && docker rm gitlab
  • 如上节执行备份数据
  • 修改 gitlab-setup.sh 指定新的版本,执行该脚本

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤
注册梁钟霖个人博客