基础架构之持续集成

Posted lzh-boy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础架构之持续集成相关的知识,希望对你有一定的参考价值。

持续集成也是常用的基础设施,我们接着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.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. 注册

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

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安装与应用

剑指架构师系列-持续集成之Maven实现项目的编译发布和部署

微服务之部署

持续集成之jenkins实践教程 基础篇 4 集成redmine

剑指架构师系列-持续集成之Maven+Nexus+Jenkins+git+Spring boot

持续集成之代码质量管理———Sonar