基于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 @ 2024-11-06 21:17  芝士Hugh  阅读(130)  评论(0)    收藏  举报