zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php7 安装xhprof
    通过explain分析SQL
    将本地代码上传到github
    SVM支持向量机分类算法
    sklearn之reshape(-1,1)
    sklearn之决策树和随机森林对iris的处理比较
    sklearn总结
    面向对象之类的继承
    面向对象之静态方法、类方法
    面向对象之类的私有属性和方法
  • 原文地址:https://www.cnblogs.com/roluodev/p/12251487.html
Copyright © 2011-2022 走看看