使用阿里云云效实现CICD

本指南将介绍如何使用阿里云云效搭建CICD流水线,实现代码的自动构建和部署。


1. 设置流水线源

配置代码仓库作为流水线的源。

  • Name
    步骤
    Type
    steps
    Description

    配置流水线源的步骤

配置流水线源

1. 登录阿里云云效控制台

2. 创建新的流水线项目:
• 选择"流水线" > "新建流水线"
• 输入流水线名称和描述

3. 配置代码源:
• 选择代码仓库(如GitHub、GitLab等)
• 授权访问代码仓库
• 选择目标分支

4. 触发方式设置:
• 代码提交自动触发
• 定时触发
• 手动触发

2. 构建和打包

构建代码并生成部署包。

  • Name
    配置
    Type
    config
    Description

    构建和打包配置

构建配置示例

# 构建阶段配置
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

3. 部署到主机组

将构建的包部署到目标服务器。

  • Name
    脚本
    Type
    script
    Description

    部署脚本示例

部署脚本

#!/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


4. 最佳实践

CICD流水线的最佳实践建议。

  • Name
    建议
    Type
    tips
    Description

    最佳实践要点

最佳实践建议

1. 环境隔离:
• 开发环境
• 测试环境
• 生产环境

2. 安全实践:
• 敏感信息使用变量管理
• 部署权限控制
• 审计日志记录

3. 监控告警:
• 部署状态监控
• 失败通知
• 性能监控

4. 回滚机制:
• 保留历史版本
• 快速回滚方案
• 数据备份

这篇文章对你有用吗?