使用阿里云云效实现CICD
本指南将介绍如何使用阿里云云效搭建CICD流水线,实现代码的自动构建和部署。
配置流水线源
1. 登录阿里云云效控制台
2. 创建新的流水线项目:
• 选择"流水线" > "新建流水线"
• 输入流水线名称和描述
3. 配置代码源:
• 选择代码仓库(如GitHub、GitLab等)
• 授权访问代码仓库
• 选择目标分支
4. 触发方式设置:
• 代码提交自动触发
• 定时触发
• 手动触发
构建配置示例
# 构建阶段配置
steps:
- name: 构建代码
uses: docker/build
with:
dockerfile: ./Dockerfile
context: .
tags:
- ${{ env.IMAGE_TAG }}
- name: 打包文件
run: |
tar -czf strangerbellcode.tgz ./*
- name: 上传制品
uses: artifacts/upload
with:
name: deploy-package
path: strangerbellcode.tgz
部署脚本
#!/bin/bash
set -e # 遇到错误立即退出
PACKAGE="/home/admin/app/package.tgz"
DEPLOY_DIR="/home/admin/sanqianfa"
# 确保部署目录存在
mkdir -p $DEPLOY_DIR
# 终止名为 strangerbell-backend 的 Docker 容器
docker stop sanqianfa || true
docker rm sanqianfa || true
# 清理部署目录中的内容
rm -rf $DEPLOY_DIR/*
# 解压包到部署目录
tar -xzf $PACKAGE -C $DEPLOY_DIR
# 进入部署目录
cd $DEPLOY_DIR
# 构建 Docker 镜像
docker compose -f docker-compose.yml build --progress=plain
# 启动 Docker 容器
docker compose -f docker-compose.yml up -d
# 清理未使用的 Docker 资源
docker system prune -f
最佳实践建议
1. 环境隔离:
• 开发环境
• 测试环境
• 生产环境
2. 安全实践:
• 敏感信息使用变量管理
• 部署权限控制
• 审计日志记录
3. 监控告警:
• 部署状态监控
• 失败通知
• 性能监控
4. 回滚机制:
• 保留历史版本
• 快速回滚方案
• 数据备份