CICD

写在前面

参照文章:https://blog.csdn.net/liuge36/article/details/83055512
之前写了比较完整的相关,但是发现,工作中只是需要用到以下简单的点就可以了
总结简单的自动化部署的项目的方法:

前置:

gitlab:做代码托管 服务器A 公司服务器
gitlab-ci (Runner): 服务器B 安装Docker 医院服务器

01 为项目注册一个runner ,这个runner去git仓库拉取代码最新下来,做自动部署
开始执行注册命令:gitlab-ci-multi-runner register
输入gitlab服务器的地址: http://22.18.12.161:10088/
输入token:某一个具体项目中》details>settings》ci/cd>runners:找到token码   xxx

输入runner的描述:默认或自定义
输入tags: 比如:test,demo  我输入的是:tnv2
回车
回车
这个时候,就是会看见succeeded
接下来,需要进行选择runner执行操作的方式
比如:shell
02 当注册好的runnner,被触发了,它该具体做些什么事情呢?

在HelloWorld》CI/CD》pipelines

通过.gitlab-ci.yml的文件去定义CI的pipelines

要想实现后端自动化部署,主要是通过本地代码提交到master分支,
master分支变化去触发CI/CD的自动化作业的执行。

这个自动化的作业其实就是 手写的 .gitlab-ci.yml 文件的内容

stages:
  - deploy
docker-deploy:
  stage: deploy
  script: 
    - docker build -t tongnanimagesv2 .
    - if [ $(docker ps -aq --filter name=tnbackwebv2) ]; then docker stop tnbackwebv2;fi
    - if [ $(docker ps -aq --filter name=tnbackwebv2) ]; then docker rm tnbackwebv2;fi
    - docker run -d -p 8900:8900 --name tnbackwebv2 tongnanimagesv2
  tags:
    - tnv2 # tnv2是shell类型的runner

上面的job作业解释:

# 这句话是使用当前目录. 下的DockerFile进行image镜像的构建
docker build -t tongnanimagesv2 . 

# 下面的两句是做 检测 指定的容器是否在运行状态,有的话,先停止,再删除
 - if [ $(docker ps -aq --filter name=tnbackwebv2) ]; then docker stop tnbackwebv2;fi
 - if [ $(docker ps -aq --filter name=tnbackwebv2) ]; then docker rm tnbackwebv2;fi
 
// 基于上面的语句,似乎可以在构建tongnanimagesv2镜像之前,先删除,删除的条件就是之前如果存在,就删除;
这里不确定每次构建是否会覆盖,如果不是覆盖,那么每次都创建,就会很多的镜像(待验证)
# 这里话是运行创建的镜像为一个容器
 - docker run -d -p 8900:8900 --name tnbackwebv2 tongnanimagesv2
# tags=tnv2 这个是我们在为项目注册runner的时候,自定义的名称(能够到你的机器上执行shell)
  tags:
    - tnv2 # tnv2是shell类型的runner

# DockerFile
---------------
from frolvlad/alpine-oraclejdk8:slim 
VOLUME /tmp 
ADD target/test-0.0.1.jar app.jar 
ENTRYPOINT ["java","-jar","/app.jar"]
---------------

顺便写一下前端项目自动部署

  1. gitlab新建仓库(或已有仓库),找到仓库的token,将其注册到gitlab-ci-multi-runner register 下去

    得到 类型是shell ,名称叫做tnfrontv2 的tages

  2. 在项目的本地新建.gitlab-ci.yml 文件

stages:
  - deploy
docker-deploy:
  stage: deploy
  script:
    - rm -rf /home/gitlab-runner/tnn/tn
    - cp -r ./dist /home/gitlab-runner/tnn/
    - mv /home/gitlab-runner/tnn/dist /home/gitlab-runner/tnn/tn
  tags:
    - tnfrontv2 # demo4是shell类型的runner

这个文件的位置在项目的根目录下,注意.git仓库文件也是在这个根目录下。

上面只是最简单的自动化部署,需要在本地生成部署包。其实,打包这步操作也是可以在服务器上完成的。但是这里为了简便,本地直接打包上传。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值