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

news/2024/12/24 11:36:11/文章来源:https://www.cnblogs.com/candy18/p/18400859
  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 ]]; thendocker stop $namedocker rm $nameecho "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" ]]; thenecho "以下容器正在使用镜像 ${imageid}:"echo "$containers_using_image"echo "停止并删除这些容器以删除镜像。"elsedocker rmi -f $imageidif [[ $? -eq 0 ]]; thenecho "成功删除旧镜像 ${imageid}"elseecho "删除镜像 ${imageid} 失败,请检查是否有足够的磁盘空间或其他问题。"fifi
elseecho "镜像 ${name} 不存在"
fi
docker image prune -a -f
# 创建日志文件夹
logfile="/var/log/servicelog/$name"
if [[ ! -d "$logfile" ]]; thenmkdir -p "$logfile"echo "已成功创建日志文件夹 ${logfile}"
elseecho "日志文件夹 ${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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827860.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2个月搞定计算机二级C语言——真题(9)解析

1. 前言 本篇我们讲解2个月搞定计算机二级C语言——真题92. 程序填空题 2.1 题目要求2.2 提供的代码 #include <stdio.h> double f1(double x) {return x * x; } double f2(double x, double y) {return x * y; } /**********found**********/ __1__ fun(int i, do…

【转载】TortoiseSVN怎么恢复到以前版本-恢复到以前版本的方法

原文链接:https://blog.csdn.net/hbiao68/article/details/131595214 SVN(Subversion)是一个版本控制系统,它允许用户跟踪文件的更改并回退到以前的版本。 第一步:进到到文件目录,右键点击【空白处】。 第二步:点击打开【TortoiseSVN】。 第三步:点击【更新至版本】。 …

如何在windows中安装达梦数据库?

前言 近年来,国产数据库越来越流行了,其中的原因大家也都知道。其中,我接触过的一款数据库就是达梦数据库。这个数据库的使用还是挺方便的。我知道最近有越来越多的小伙伴要开始国产化改造了,所以,对于达梦数据库这样的国产数据库,肯定想要了解很多知识的。所以,今天就来…

基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)svm参数取值对检测性能的影响: SVM,PSO,GA-PSO-SVM的检测性能对比: 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频,参考文献,说明文档)load GAPSO.mat %调用四个最优的参数 ta…

DBeaver如何快速格式化sql语句,真简单!

前言 我之前在使用DBeaver的时候,一直不知道其可以格式化sql语句,导致sql语句看起来比较杂乱,今天就来介绍下DBeaver如何格式化sql语句。 如何格式化sql语句 首先,我们打开一个sql窗口,在里面输入我们要查询的sql语句,如图所示。可以看到,此时sql语句是比较杂乱的。然后…

学习笔记(二十七):ArkUi-警告弹窗(AlertDialog)

概述: 警告弹窗,需要向用户提问或得到用户的许可。警告弹窗用来提示重要信息,但会中断当前任务,尽量提供必要的信息和有用的操作。 避免仅使用警告弹窗提供信息,用户不喜欢被信息丰富但不可操作的警告打断。 必选内容包含:标题、可选信息文本、最多3个按钮。 可选内容包含…

figure

figure 新知识:坐标隐写和Rot47编码 用010打开发现好长一串字符,全是小写字母和数字,感觉是十六进制最后那里看着是png文件头的十六进制的逆序,逆回去得到png图片有坐标,想起了用坐标画图,但是肯定不是,因为点太少了而且这个图大致算是画出来了 每个点前面有序号,先一个…

CSP2024 前集训:多校A层冲刺NOIP2024模拟赛18

前言 不知道咋回事儿?脑子里一直放歌。 然后 T3 空间给了 256,开了 256.23 死了。 T1 选彩笔 显然可以二分答案,所以现在有了 \(O(nv^3\log v)\) 的做法,去重后可以拿到 \(80pts\),发现直接三维前缀和就可以做到 \(O(v^3\log v)\)。点击查看代码 #include<bits/stdc++.…

实验3 类和对象 基础编程

实验一 task1.cpp#include "window.hpp" #include <iostream>using std::cout; using std::cin;void test() {Window w1("new window");w1.add_button("maximize");w1.display();w1.close(); }int main() {cout << "用组合类模…

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!前言 大家有没有遇到过,代码跑着跑着,线程突然抢资源抢疯了?其实,这都是“多线程同步”在作怪。多线程同步是个老生常谈的话题,可每次真正要处理时还是让人头疼。这篇文章,带你从头到尾掌握 Linux 的多线程同步,…

『模拟赛』NOIP2024加赛2

『模拟赛记录』NOIP2024加赛2Rank 一直烂,什么时候触底反弹(A. 新的阶乘 赛时觉得线筛一遍同时统计每个质数的指数就做完了,然后本机怎么跑不进 1s,卡常卡了半个小时,最后没 T,但是 vector 炸了,70pts。 可以换思路考虑,赛时一直没转换过来。对于每个质数枚举其倍数统计…

矩阵求导 d(A*X)/dX

矩阵求导 d(A*X)/dX简单矩阵求导 $\frac{ \part (A \times X) }{ \part X }=A$。证明如下,自行体会。 感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助