基于容器的gitlab cicd入门

安装gitlab

docker-compose配置文件如下,注意

  1. 端口号映射宿主机与容器要一致,gitlab会自动根据配置改变容器内部暴露的端口
  2. external_url指定暴露的链接,这是宿主机与容器端口要一致的原因,否则容器内部访问服务出错
web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: '172.xxx.xxx.xxx:8020'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://172.xxx.xxx.xxx:8020'
  ports:
    - '8020:8020'
  volumes:
    - '/opt/gitlab/config:/etc/gitlab'
    - '/opt/gitlab/logs:/var/log/gitlab'
    - '/opt/gitlab/data:/var/opt/gitlab'

安装gitlab-runner

注册的token从gitlab的管理界面查看

docker run -d --name gitlab-runner --restart always \
 -v /opt/gitlab/runner:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 gitlab/gitlab-runner:latest

docker run --rm -it -v /opt/gitlab/runner:/etc/gitlab-runner gitlab/gitlab-runner register

.gitlab-ci.yml机制

gitlab的流水线配置都在.gitlab-ci.yml文件中完成

基本机制:执行流水线时,把仓库代码克隆到runner中,然后在项目的根目录执行.gitlab-ci.yml中的脚本,所以相当于在Linux服务器中执行shell脚本,shell能做到的事,gitlab流水线也能做到

除了普通shell脚本,gitlab提供了一些特殊关键字,用于完成一些特殊的动作和控制,以使用gitlab的集成功能,如生成制品、执行条件

gitlab cicd关键字参考

posted @ 2021-12-03 11:22  woncode  阅读(182)  评论(0编辑  收藏  举报