- 使用微软的 来进行CICD 链接:https://dev.azure.com
- 创建新项目
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.现在根据以下步骤执行,运行代理
这里显示绿色就是开启状态
- 部署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