利用docker搭建gitlab;实现git-ci 集成自动化部署

时间:2022-08-22 03:54:33

我们这边继续之前的问题; 打算模拟生产中的自动化部署.
利用docker搭建gitlab;实现git-ci 集成自动化部署

这套技术;其实利用的是gitlab CI 的持续集成 ; 关于持续集成这边我就不多讲了; 大家可以看我推荐的微博: GitLab CI持续集成配置方案

这边我来讲一下; 如何用docker 在linux 上搭建一个gitlab 仓库.

  1. 第一步,安装 postgresql container
docker run --name gitlab-postgresql -d \
    --env 'DB_NAME=gitlabhq_production' \     --env 'DB_USER=gitlab' --env 'DB_PASS=password' \     --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \     sameersbn/postgresql:9.4-12

2.第二部 , 安装 redis container

docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:latest

3.安装gitlab container

docker run --name gitlab -d \
    --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \     --publish 10022:22 --publish 10080:80 \     --env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \     --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \     --volume /srv/docker/gitlab/gitlab:/home/git/data \      gitlab/gitlab-ce:latest

关于安装中使用的这些指令 ; 我这边就不详细讲了; 大家可以去看两本书
< 第一本docker书 > < springcloud和docker实战 >
到这里; 可以利用docker ps 查看一下是否都在运行;利用docker搭建gitlab;实现git-ci 集成自动化部署

说明我们的gitlab 已经启动了; 我们来访问一下:虚拟机Ip + 设置端口(10080)
利用docker搭建gitlab;实现git-ci 集成自动化部署

你们得到的页面和我不一样; 因为一开始进去要进行 账号密码设置.
关于跟多的gitlab 运行和维护.这边推荐微博:GitLab搭建与维护
下面有机会我们再讲解一下git ci 的安装和配置


注意目录权限:

在官方示例中,我们把gitlab的数据放在了/srv/docker/gitlab/下,一开始我用root身份对整个目录进行cp -R备份,发现gitlab有时会出现无法显示(读取)gitlab库,以及有时个别操作(如恢复备份)会出现权限不足的情况,使用cp -a或者cp -rp或者rsync -a来保持复制后的文件具有原来的模样。