基础架构之Gitlab Runner也是常用的基础设施,我们接着GitLab操作,具体使用GitlabRunner,如果不熟悉可以见官方详细介绍https://docs.gitlab.com/runner,这篇文章主要介绍安装及项目使用。

(一)  环境要求

  1. Centos 7.5.1804
  2. Docker 18.06.1-ce
  3. gitlab/gitlab-ce
  4. gitlab/gitlab-runner

(二)  安装设置

  1. GitLab设置

a)      知道上篇文章,我们创建的demo项目,依次点击settings-> ci/cd-> Runners,可以看到如下图所示

记住这里的URL及token,后面注册Runner的时候会用到。

  1. 执行器安装
sudo docker run -d --name gitlab-runner-docker --restart always     -v /srv/gitlab-runner-docker/config:/etc/gitlab-runner     -v /usr/bin/docker:/usr/bin/docker     -v /usr/lib64/libltdl.so.:/usr/lib/x86_64-linux-gnu/libltdl.so.     -v /var/run/docker.sock:/var/run/docker.sock     gitlab/gitlab-runner:latest

等命令执行完成后,可以通过命令查看下该服务的状态,

,待状态为Up的时候,我们就可以注册执行器了。

  1. 注册

运行如下命令,注册执行器

sudo docker exec -it gitlab-runner-docker  gitlab-runner register -n   --url http://192.168.1.215/   --registration-token xv3VmFtGnaKzLRx8EPJx   --tag-list=dev   --description "dockersock"   --docker-privileged=true   --docker-pull-policy="if-not-present"   --docker-image "docker:latest"   --docker-volumes /var/run/docker.sock:/var/run/docker.sock   --docker-volumes /root/m2:/root/.m2   --executor docker

这里注意要替换前面步骤看到的URL,及Token。

待提示成功后,我们到Runners就可以看到如下所示,说明执行器注册成功

  1. 项目使用

a)      修改gitlab-ci.yml内容,进行功能测试

variables:

stages:

- compile

- package

- deploy

before_script:

- echo '开始构建......  '

build:

  stage: compile

  script:

  - echo '正在执行compile......'

  only:

  - master

  tags:

  - dev

package:

  stage: package

  script:

  - echo 'package......'

  only:

  - master

  tags:

  - dev

after_script:

- echo '结束构建......'

deploy:

  stage: deploy

  script:

  - echo '正在执行compile......'

  only:

  - master

  tags:

  - dev

提交后,会触发执行器。

b)      查看进度及结果

点击图标可以查看执行进度,

点击后,会显示进度详情,如图所示

点击相应的阶段,可以看到详细的执行信息

这样基础架构之Gitlab Runner就介绍完了,下篇文章我们会跟具体项目结合起来讲解,如果在开发中遇到问题,也可以留言共同探讨共同进步。

最新文章

  1. RMAN异机还原遭遇ORA-19698错误案例
  2. poj 2774
  3. HTML5 和HTML4的区别
  4. PAT (Basic Level) Practise:1031. 查验身份证
  5. JAVA面试精选【Java基础第一部分】
  6. android 圆角按钮和按钮颜色
  7. Android 安全概述
  8. CSS负边距自适应布局三例
  9. hadoop中,combine、partition、shuffle作用分别是什么?
  10. 10天学会phpWeChat——第九天:数据库增、删、改、查(CRUD)操作
  11. Synchronized的用法
  12. 八.利用springAMQP实现异步消息队列的日志管理
  13. JAVA学习总结-面向对象
  14. C# 之 串口数据侦听的实现
  15. 近端梯度算法(Proximal Gradient Descent)
  16. php in_array 的一个坑
  17. 前端 HTML 常用标签 head标签相关内容 style标签 定义内部样式表
  18. SQLServer中sql for xml path 的用法
  19. Codeforces 937 D. Sleepy Game(DFS 判断环)
  20. error: conflicting type qualifiers for 'xxxxx'

热门文章

  1. [Alpha]团队成员贡献分配规则
  2. 剑指offer——面试题23:链表中环的入口节点
  3. 使用app-inspector查看元素,无法连接到手机,提示错误{ Error: Command failed ……forward tcp:9001 tcp:9001错误解决
  4. UML-5-进化式需求
  5. oracle使用已有vid快速新建虚拟机
  6. Vue axios 上传图片
  7. Android中Service与多个Activity通信
  8. React条件性渲染
  9. 关于new Option()
  10. JavaScript自适应调整文字大小