docker-GitLab NetCore实现CICD

前言:

​ 上两篇文章搭建好Docker Register、GitLab、GitLab Runner后,此次来通过之前用到NetCore项目来实现CICD。

微信截图_20200202111153

来看之前的项目。依然以连接Mysql容器为实例。本次加入单元测试Api.Tests。

1、编写.gitlab-CI.yml文件(需放到解决方案的根目录)

 stages:
  - build
  - test
  - package
  - deploy
  
 job1:
   stage: build
   script:
     - dotnet build
 
 job2:
   stage: test
   script:
     - cd Api.Tests
     - dotnet test
 
 job3:
   stage: package
   script:
     - cd Api
     - docker build -t userapi:test .
     - docker tag userapi:test 115.29.149.34:5000/userapi:v1
     - docker push 115.29.149.34:5000/userapi:v1
     
 job4:
   stage: deploy 
   script:
     - cd Api 
     - docker stop userapi
     - docker rm userapi
     - docker run -d -p 8004:3827 --link mysql01:db --name userapi 115.30.149.35:5000/userapi:v1 

依次有四个job

job1:编译整个项目

job2: 运行单元测试

job3: 打包api项目成一个镜像。并且推送到部署好的Docker Registry

job4: 运行容器

需要在服务器上提前配置好对应的Mysql容器(参考之前文章)。

2、将项目推送到GitLab

①、登录GitLab ,创建一个新项目

微信截图_20200202112034

②、将本地项目推送到GitLab

进行我们本地项目根目录,执行以下命令即可。

image-20200202112252209

③、GitLab上进入我们的项目,点击CICD,即可看到我们的job在跑。

image-20200202112432937

④、每次提交都会自动执行这四个Job

原文地址:https://www.cnblogs.com/roluodev/p/12251487.html