基于Azure DevOps 的 CICD 项目部署(.Net Core)

  1. 使用微软的 来进行CICD 链接:https://dev.azure.com
  2. 创建新项目

    3.创建项目名称

    4.选择仓库地址



    5.选择空模板

    6.创建代理池


    7.按照以下步骤把代理部署到服务器上


    8.连接你的服务器
    9.创建新的文件夹
    mkdir myange
    cd myagent
    10.可通过链接下载文件
    wget https://vstsagentpackage.azureedge.net/agent/3.238.0/vsts-agent-win-x64-3.238.0.zip
    11.创建新的文件夹进入并解压缩
    mkdir myagent && cd myagent
    tar zxvf ~/Downloads/vsts-agent-linux-x64-3.238.0.tar.gz
    12.解压完成执行 ./config.sh
    13.这里可能会出现一些错误提示:Must not run with sudo 运行下面代码
    export AGENT_ALLOW_RUNASROOT="1"
    ./config.sh
    14.先创建 Toeken 点击右上角小人


    15.现在根据以下步骤执行,运行代理

    这里显示绿色就是开启状态
  3. 部署CI部分




    17.现在要创建阿里云镜像服务




    18.配置Docker 拉取和推送 根据以下两个步骤进行拉取和推送的配置



    19.配置完成后点上方的保存,运行CI部分,时间会很长,耐心等待,如出现问题可以百度等。
    20.现在配置CD部分

    21.创建空模版

    22.选中你的CI部分

    23.补充要执行的任务

    24.创建一个SSH用于连接服务器





    25.其中 registry.cn-hangzhou.aliyuncs.com/TextInfor/wudia 是需要更改为阿里云的 公网地址
    1,给镜像起名,在判断是否有用这个容器,有就停了在删除,再看镜像有没有,有就删了,创建一个文件夹写日志,主要的就是在服务器拉文件,在运行文件
点击查看代码
#!/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 --filter "reference=$name" --format "{{.ID}}" 2>/dev/null)
if [[ -n "$imageid" ]]; then
# 检查是否有任何正在使用该镜像的容器
containers_using_image=$(docker ps -a --filter "ancestor=$imageid" --format "{{.ID}}")
if [[ -n "$containers_using_image" ]]; then
echo "以下容器正在使用镜像 ${imageid}:"
echo "$containers_using_image"
echo "停止并删除这些容器以删除镜像。"
else
docker rmi -f $imageid
if [[ $? -eq 0 ]]; then
echo "成功删除旧镜像 ${imageid}"
else
echo "删除镜像 ${imageid} 失败,请检查是否有足够的磁盘空间或其他问题。"
fi
fi
else
echo "镜像 ${name} 不存在"
fi
docker image prune -a -f
# 创建日志文件夹
logfile="/var/log/servicelog/$name"
if [[ ! -d "$logfile" ]]; then
mkdir -p "$logfile"
echo "已成功创建日志文件夹 ${logfile}"
else
echo "日志文件夹 ${logfile} 已存在"
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
26.配置完成之后返回这级 ![](https://img2024.cnblogs.com/blog/3469826/202409/3469826-20240906194340342-844835712.png) 27.开启触发器CI触发CD ![](https://img2024.cnblogs.com/blog/3469826/202409/3469826-20240906194407476-1027266201.png) 28.开启运行即可 ![](https://img2024.cnblogs.com/blog/3469826/202409/3469826-20240906194428679-1206714797.png)
posted @   芝士Hugh  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示