基础架构之Gitlab Runner

2022-12-11 20:49:41 浏览数 (2)

基础架构之Gitlab Runner也是常用的基础设施,我们接着GitLab操作,具体使用GitlabRunner,如果不熟悉可以见官方详细介绍

https://docs.gitlab.com/runner,这篇文章主要介绍安装及项目使用。

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

(一) 环境要求

  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. 执行器安装
代码语言:javascript复制
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.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7     
-v /var/run/docker.sock:/var/run/docker.sock     
gitlab/gitlab-runner:latest

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

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

  1. 注册

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

代码语言:javascript复制
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内容,进行功能测试

代码语言:javascript复制
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就介绍完了,下篇文章我们会跟具体项目结合起来讲解,如果在开发中遇到问题,也可以留言共同探讨共同进步。

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬。

0 人点赞