部署-CICD
约 517 字大约 2 分钟
2026-09-10
CI/CD 的全称是 持续集成(Continuous Integration)和 持续交付(Continuous Delivery)。
创建CICD的镜像环境
下载镜像到本地
通过网盘分享的文件:python框架 链接: https://pan.baidu.com/s/1y_wrznlLD4AkmOwZANhT4A?pwd=t61z 提取码: t61z --来自百度网盘超级会员v7的分享
CI
ACR创建新的镜像仓库:duyi-service-ci
推送镜像到仓库:
# 到下载的镜像所在目录 docker load -i duyi-service-ci.tar # 修改成你的tag docker tag duyi-service-ci:latest 复制仓库公网地址:latest # 推送 docker push 复制仓库公网地址:latest
CD
ACR创建新的镜像仓库:duyi-service-cd
推送镜像到仓库
# 到下载的镜像所在目录 docker load -i duyi-service-ci.tar # 修改成你的tag docker tag duyi-service-ci:latest 复制仓库公网地址:latest # 推送 docker push 复制仓库公网地址:latest
python环境
ACR创建新的镜像仓库:python
推送镜像
docker buildx build --platform linux/amd64 \ -t 复制仓库公网地址:3.14-slim \ --push \ - <<< 'FROM python:3.14-slim'
阿里云效
将你的仓库关联到阿里云效
git remote add origin <仓库SSH地址>创建CI流水线
创建流水线
触发方式选择:代码提交
阶段1添加CI任务
使用自定义的镜像源
添加执行命令步骤
uv sync --frozen --all-packages # make test # make test-e2e # make test-smoke make test-unit添加通知插件
创建CD流水线
听课堂上讲吧
环境变量:${CI_COMMIT_REF_NAME}
需要准备的环境变量:
KUBECONFIG_BASE64:k8s config 的base64编码
cat ~/.kube/config | base64ACR_USERNAME: 阿里云的账号
ACR_PASSWORD:ACR密码
DOCKER_SERVER:ACR的仓库专用网络地址
DB_PASSWORD: 数据库密码
JWT_SECRET_KEY:JWT密钥
CD执行的命令
# 写入 kubeconfig
echo "$KUBECONFIG_BASE64" | base64 -d > /tmp/kubeconfig
# 创建 ACR 拉取凭证
kubectl create secret docker-registry acr-registry-secret \
--docker-server="$DOCKER_SERVER" \
--docker-username="$ACR_USERNAME" \
--docker-password="$ACR_PASSWORD" \
--dry-run=client -o yaml \
--kubeconfig /tmp/kubeconfig \
--namespace default | \
kubectl apply -f - --kubeconfig /tmp/kubeconfig --namespace default
# Helm 部署
TAG=${CI_COMMIT_REF_NAME}
helm upgrade --install duyi-service ./k8s \
--set image.tag=$TAG \
--set secret.dbPassword="$DB_PASSWORD" \
--set secret.jwtSecretKey="$JWT_SECRET_KEY" \
--kubeconfig /tmp/kubeconfig \
--namespace default