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

  • 相关阅读:
    mysqldump 逻辑备份和物理备份
    mysql备份
    MySQL日志
    mysql 查询缓存
    Error: xz compression not available的解决办法
    rsync + crontab + expect 快速搭建同步
    同步文件,不需要密码
    logstash 值得收藏的
    MySQL5.7主从,单slave多master
    微信代扣签名
  • 原文地址:https://www.cnblogs.com/roluodev/p/12251487.html
Copyright © 2011-2022 走看看