GitLab CI/CD 学习笔记

主要内容

  • 使用docker部署ci/cd 环境
  • 使用gitlab ci/cd 解决各种项目集成,部署问题
  • 讲解ci/cd涉及到的各个组件、流程,知识点
  • 实践各种部署项目的流水线

docker 部署 gitlab

1
2
3
4
5
6
7
8
9
10
sudo docker run --detach \
--hostname gitlab.ganshizhong.com \
--publish 8011:80 --publish 8010:22 \
--name gitlab \
--restart always \
--volume /home/ec2-user/work/gitlab/config:/etc/gitlab \
--volume /home/ec2-user/work/gitlab/logs:/var/log/gitlab \
--volume /home/ec2-user/work/gitlab/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest

启动成功后,第一次登陆,直接用 root 用户,密码任意设置即可

1
docker logs -f gitlab # 查看日志

CI/CD基础知识

gitlab ci/cd

  • gitlab runner
  • pipline
  • stage
  • job
  • .gitlab-ci.yml 定义流水线
1
2
3
4
sudo docker run -d --name gitlab-runner --restart always \
-v /home/ec2-user/work/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

docker-runner 注册

1
2
3
4
5
6
7
8
9
10
11
docker run --rm -v /home/ec2-user/work/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "http:/119.255.249.177:8011/" \
--registration-token "v_ghrbXKzYU3LWo6Qfb2" \
--description "first-register-runner" \
--tag-list "test-cicd1,dockercicd1" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

gitlab-ci.yml 介绍与编写