gitlab CI/CD
gitlab CI/CD架构:
gitlab CI/CD步骤:
安装Runner:
Linux服务器安装:
•Linux安装文档:https://docs.gitlab.com/runner/install/linux-repository.html
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
yum install gitlab-runner
Docker服务器安装:
•docker安装文档:https://docs.gitlab.com/runner/install/docker.html
docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock --add-host=gitlab.ctnrs.com:192.168.121.132 gitlab/gitlab-runner:latest
注册Runner:
登录容器:
docker exec -it gitlab-runner bash
免交互注册,注意,token要 用root用户登录,单击管理中心-》概览-》runner,复制里面的token:
gitlab-runner register --non-interactive --executor "shell" --url "http://gitlab.ctnrs.com" --registration-token "b3xFBYvysadqGz-eF4Ly" --description "test2" --tag-list "abc" --run-untagged="true" --locked="false"
注册成功能看到生成一个runner:
编写流水线脚本:
加入以下内容:

出现上图,需要配置登录容器gitlab-runner,并用gitlab-runner用户的公钥发到nginx机器:
docker exec -it gitlab-runner bash
su - gitlab-runner
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub 192.168.121.131
出现上图,需要把运行runner机器的root用户公钥复制到web页面的SSH密钥里面:
root用户:
vi .ssh/id_rsa.pub
把内容复制到web页面的SSH密钥里面:
流水线部署好后如图:
显示如下图:
更新portal项目dev分支index.html并push,访问http://192.168.121.131,页面自动更新,流水线配置成功。