作用
CI(continuous intergration)持续集成
持续集成:编写代码时,完成了一个功能后,立即提交代码到Git仓库中,将项目重新的构建并且测试。
- 快速发现错误。
- 防止代码偏离主分支。
建议部署在纯净的Linux系统环境中
-
实现CI,需要先搭建Gitlab远程仓库,先安装Gitlab
-
先前工具:安装Docker以及Docker-Compose(请查看往期)
一、修改主机端口解决端口冲突!
- 服务器的端口是22,但是Gitlib的端口也是22,这里需要先修改主机端口再部署
vi /etc/ssh/sshd_config
- 找到Port
/Port --> #Port 22 --> Port 自定义port
- 重启sshd服务
systemcil restart sshd
- 可能出现主机报错Job for sshd xxx… ,原因是:由于远程修改端口属于高危动作,被Linux的安全上下文(Security Context)的核心——SElinux拦截,解决办法:
前往主机执行:
sudo setsebool -P nis_enabled 1 //还原 0
二、编写docker-compose执行文件
- 创建Gitlab目录
- 编写 docker-compose.yml文件
version: '3.1'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:11.1.4'
container_name: "gitlab"
restart: always
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://Server IP'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 22
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- /opt/docker_gitlab/config:/etc/gitlab
- /opt/docker_gitlab/data:/var/opt/gitlab
- /opt/docker_gitlab/logs:/var/log/gitlab
三、执行docker-compose创建数据卷
docker-compose up -d