Live2D 看板娘 / Demo

3分钟学会怎样把NetCore程序用gitlab的CICD部署到docker中

我的部署环境

 

 

1. 程序准备

程序我已放到gitee中,地址https://gitee.com/CRole/gitlab-cicd.git,

1.1 .gitlab-ci.yml文件

stages: # 分段
  - build
  - clear
  - run

# 定义 job
build:
  stage: build
  script:
    - pwd
    - cd CICD/
    - docker build -f ./CICD/Dockerfile -t testcicd .
  when: always #不管前面几步成功与否,永远会执行这一步。它有几个值:on_success (默认值)\on_failure\always\manual(手动执行)

clear:
  stage: clear
  script:
    - if [ $( docker ps -aq --filter name=testcicd) ]; then docker rm -f testcicd;fi  #停止并删除原有镜像
    - docker system prune -f
  when: on_success

run:
  stage: run
  script:
    - docker run  -p 8080:80 --name testcicd -d testcicd:latest
  when: on_success

 

2. GitLab Runner注册

  runner我是放在了windows服务器上,这台机器是可以通过ssh直接连接到部署机器上的。

首选定位到gitlab-runner.exe所在目录, 然后执行以下命令

.\gitlab-runner register

.\gitlab-runner run

需要按照步骤输入:

  1. 输入gitlab的服务URL,这个使用的是https://gitlab.com/
  2. 输入gitlab-ci的Toekn,获取方式参考上图
  3. 关于集成服务中对于这个runner的描述
  4. 给这个gitlab-runner输入一个标记,这个tag非常重要,在后续的使用过程中需要使用这个tag来指定gitlab-runner
  5. 是否运行在没有tag的build上面。在配置gitlab-ci的时候,会有很多job,每个job可以通过tags属性来选择runner。这里为true表示如果job没有配置tags,也执行
  6. 是否锁定runner到当前项目
  7. 选择执行器,gitlab-runner实现了很多执行器,可用在不同场景中运行构建,详情可见GitLab Runner Executors,这里选用ssh模式

 

 

 

 

 

 

 

 

  说明:    选择runner 执行者类型的时候,这里我们选择的是 ssh,因为我们需要通过ssh连接到部署机器上, 这里你要根据你自身的情况去选择, 常用的有shell, docker,docker-ssh等。 我一开始就是选择的shell,一直想着在脚本里面通过ssh命令去连接服务器了,掉进了坑里!!!

还有一点需要注意的是这个选项,代表指示此运行程序是否可以拾取没有tag的作业,我们一开始可能不需要那么严格, 所以这里需要选中,默认是不选中的。

 

 

3. 结果

这个时候提交个代码看看。可以看到已经顺利执行了。 

 

 

 

 4. 总结

  在流水线中我们可以定义很多job,基本上centos 的命令都可以在job中使用,这样我们就可以做很多东西了, 比如写个python脚本放里面, 通过Job执行,一提交代码给自己发个邮件, 一提交代码关个机啥的! !

 

 

posted @ 2021-07-05 09:36  MChuang  阅读(299)  评论(1编辑  收藏  举报