当前位置:   article > 正文

gitlab autuo devops

gitlab auto devops

[参考文章]

1. 在虚拟机或服务器运行gitlab-runner容器

  1. docker run -d --name gitlab-runner --restart always \
  2. -v /var/run/docker.sock:/var/run/docker.sock \
  3. -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  4. gitlab/gitlab-runner:latest

2. 新建测试项目,并复制token

1126944-20180612125547831-247745172.png

3. 注册项目runner

  • docker exec -it gitlab-runner gitlab-runner register

1126944-20180612140743204-200420403.jpg

  • 配置完成后会生成config.toml,如注册时输入有误可以手动修改错误后重启gitlab-runner,注意:这里要手动添加一行pull_policy = "never"(缩进用4个空格,不能用tab),意思是不从docker仓库拉取镜像,只从本地拉取(具体参考Chengzi_comm的专栏)这里的token跟第2步的token不是同一个东西,不要混淆。

vim /srv/gitlab-runner/config/config.toml

  • 回到第2步的页面就可以看到注册的runner了, 禁用共享的runners(如图页面)

1126944-20180612143230371-909646088.png

  • 启用Auto DevOps

1126944-20180612143548750-1506903732.png

4. 至此,runner注册好了也启用auto devops了,但此时你修改项目文件并提交修改就会触发auto devop,但是会失败,因为没有.gitlab-ci.yml文件在项目的根目录

1126944-20180612143737540-2088009048.png

5. 所以我们要编写.gitlab-ci.yml,并调用刚注册好的Specific Runners,注意:要将此文件放在项目根目录!

  1. stages:
  2. - build
  3. - test
  4. build:
  5. stage: build
  6. image: gbuild:latest
  7. script:
  8. - echo "info> sample build complete"
  9. only:
  10. - master
  11. tags:
  12. - Specific Runners
  13. test:
  14. stage: test
  15. image: gtest:latest
  16. script:
  17. - echo "info> sample test complete"
  18. only:
  19. - master
  20. tags:
  21. - Specific Runners

6. 而第5步需要用到docker image:gbuild:latest和image:gtest:latest,这2个镜像是自定义的镜像在docker仓库是没有的,

  • 可以参考Chengzi_comm的专栏的第二步(2)用dockerfile build 2个自定义名字的镜像替换掉我这里的gtest:latest等,
  • 也可以拉个系统镜像,然后运行一个容器,在里面安装需要的工具,之后将容器打包成自定义的镜像。
  • 也可以拉我的镜像来测试docker pull vickeywu/gbuild,我只上传了一个镜像,如果需要多个,只需自己拉下来重新打个tag就行,参考如何将docker 镜像上传到docker hub仓库

7. 现在修改项目文件提交之后就会自动调用注册的runner来构建测试代码了

1126944-20180612154642762-1938614943.png

8. 在服务器上也可以看到runner运行时会调用gbuild镜像运行一个临时的容器以测试代码。

1126944-20180612154542954-1216586230.png

转载于:https://www.cnblogs.com/vickey-wu/p/9163475.html

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号