云效 CI/CD 最常见链路:
1 | Git 推送代码 |
一、先建流水线
进入:
1 | 云效 → Flow 流水线 → 新建流水线 |
选择模板可以用:
1 | Java 构建部署 |
或者直接空白流水线。
二、配置代码源触发
在流水线左侧添加:
1 | 流水线源 / 代码源 |
选择你的仓库,比如:
1 | Codeup / GitHub / Gitee / GitLab |
然后开启:
1 | 代码源触发 |
配置触发分支,例如:
1 | master |
官方文档说明:开启代码源触发并配置 Webhook 后,对应代码地址和分支有提交就可以触发流水线运行。(Aliyun Help Center)
不要优先用顶部那个“通用 Webhook”做代码提交触发。代码仓库触发更适合 push、tag、合并请求这些场景;通用 Webhook 更适合外部系统主动调用流水线。(Aliyun Help Center)
三、Maven 构建阶段
添加任务:
1 | Java 构建 / Maven 构建 |
命令一般写:
1 | mvn -B clean package -DskipTests |
如果要跑测试:
1 | mvn -B clean test |
如果是多模块项目:
1 | mvn -B clean package -pl assess-server -am -DskipTests |
四、Docker 镜像构建
添加任务:
1 | 镜像构建并推送 |
配置:
1 | Dockerfile 路径:./Dockerfile |
建议镜像 tag:
1 | 项目名/服务名:分支名-提交ID |
例如:
1 | carloan/assess-server:test-${COMMIT_ID} |
五、部署阶段
如果你是普通 ECS + Docker,可以用:
1 | 主机部署 / SSH 执行命令 |
示例:
1 | docker pull 镜像地址 |
如果你是 Docker Swarm:
1 | docker service update \ |
如果是 Kubernetes:
1 | kubectl set image deployment/assess-server assess-server=镜像地址 |
六、你现在最该这样配
按你的场景,推荐:
1 | 代码源触发 |
核心配置重点是:
1 | 不是先配 Webhook |
通用 Webhook 只有在你想让“外部系统主动调用云效流水线”时才用。