基于Azure DevOps 的 CICD 项目部署(.Net Core)
-
使用微软的 来进行CICD 链接:https://dev.azure.com
-
创建新项目
-
创建项目名称
-
选择仓库地址
-
选择空模板
-
创建代理池
-
按照以下步骤把代理部署到服务器上
![
-
连接你的服务器
-
创建新的文件夹
mkdir myange cd myagent
-
可通过链接下载文件
wget https://vstsagentpackage.azureedge.net/agent/3.238.0/vsts-agent-win-x64-3.238.0.zip
-
创建新的文件夹进入并解压缩
mkdir myagent && cd myagent tar zxvf ~/Downloads/vsts-agent-linux-x64-3.238.0.tar.gz
-
解压完成执行 ./config.sh
-
这里可能会出现一些错误提示:Must not run with sudo 运行下面代码
export AGENT_ALLOW_RUNASROOT="1" ./config.sh
-
先创建 Toeken 点击右上角小人
-
现在根据以下步骤执行,运行代理
![](/i/l/?n=24&i=blog/3394716/202405/3394716-20240518110108084-1111103607.png)
这里显示绿色为开启状态
![](/i/l/?n=24&i=blog/3394716/202405/3394716-20240518110126573-1426654634.png)
-
部署CI部分
-
现在要创建阿里云镜像服务
-
配置Docker 拉取和推送 根据以下两个步骤进行拉取和推送的配置
-
配置完成后点上方的保存,运行CI部分,时间会很长,耐心等待,如出现问题可以百度等。
-
现在配置CD部分
- 创建空模版
- 选中你的CI部分
- 补充要执行的任务
- 创建一个SSH用于连接服务器
-
其中 registry.cn-hangzhou.aliyuncs.com/TextInfor/wudia 是需要更改为阿里云的 公网地址
-
给镜像起名,在判断是否有用这个容器,有就停了在删除,再看镜像有没有,有就删了,创建一个文件夹写日志,主要的就是在服务器拉文件,在运行文件
#!/bin/bash name="webapp01" cid=`docker inspect --format '{{.Id}}' ${name} 2>/dev/null` if [[ ${#cid} -gt 0 ]]; then docker stop $name docker rm $name echo "successed deleted container ${name}" fi imageid=`docker images --format {{.ID}} $name` echo "准备删除旧镜像${imageid}" if [[ ${#imageid} -gt 0 ]]; then docker rmi -f $imageid echo "successed deleted old image ${name}" fi logfile="/var/log/servicelog/$name" if [[ ! -x "$logfile" ]]; then mkdir -p "$logfile" echo "已成功创建日志文件夹" else echo "文件存夹已存在" fi docker pull registry.cn-hangzhou.aliyuncs.com/TextInfor/wudia docker run -it -d -p 8002:80 --name webapp01 registry.cn-hangzhou.aliyuncs.com/TextInfor/wudia --privileged=true docker logs webapp01
-
-
配置完成之后返回这级
-
开启触发器CI触发CD
-
开启运行即可