multica-artifact-cicd-sync · git:20260910.8db057c · 2026-09-10 · sha256 535ad9c96a51d270
multica-artifact-cicd-sync git:20260910.8db057cA
Immutable. This exact content is served forever at /api/v1/blob/535ad9c96a51d270.
---
name: multica-artifact-cicd-sync
description: CI/CD 产物编排:G2 PASS 且代码已 push 后调用 multica-platform-jenkins 触发 dev/sit 构建,回写 JIRA 并回传部署 URL。Python 实现,Windows / Linux 通用。
metadata:
orchestrates:
- multica-platform-jenkins
- multica-platform-jira
runtime:
python: ">=3.10"
---
# Artifact · CI/CD Sync(编排)
## Purpose
G2 PASS + push 后,调用 `multica-platform-jenkins` 触发 dev/sit Job。**参数由 Jenkins API 自动发现**,编排层不硬编码参数名。
## Platform 协作
| Platform skill | 本 skill 用途 |
| --- | --- |
| `multica-platform-jenkins` | `trigger_env.py` / `trigger_cicd.py` 触发与轮询 |
| `multica-platform-jira` | 可选读 Issue;回写部署链接 |
凭据:`JIRA_USERNAME / JIRA_PASSWORD`(与 JIRA 共用域账户)。CLI 细节见 platform-jenkins SKILL。
## Agent 流程
```text
1. discover-only(推荐先跑,检查 missing):
python scripts/trigger_cicd.py --issue PROJ-1853 --env sit --branch release/PROJ-1853-聚合页 --discover-only --json
2. 触发(**只用 Issue deploy branch,不用 feature 分支**):
python scripts/trigger_cicd.py --issue PROJ-1853 --env sit --branch release/PROJ-1853-聚合页 --json
3. missing 参数:追加 --param name=value(trigger_cicd 需扩展传参时走 trigger_env --param)
```
## 参数解析策略
默认(`use_last_success=true`):
1. 读取 `lastSuccessfulBuild` 的全部构建参数
2. **仅**将分支类参数(branchName / branch / gitBranch …)替换为 `--branch`
3. `--param` 可覆盖任意项;`--no-last-success` 关闭此行为
---
## Workflow A:dev 部署
```bash
python scripts/trigger_cicd.py \
--issue PROJ-1853 \
--env dev \
--service acme \
--branch release/PROJ-1853-聚合页 \
--json
```
## Workflow B:sit 部署(G2.5 → Tester T3)
```bash
python scripts/trigger_cicd.py \
--issue PROJ-1853 \
--env sit \
--branch release/PROJ-1853-聚合页 \
--json
```
`acme` / `MSD` / `ERP` / `IAM` 等前缀已在 `config.yaml` → `issue_service_map` 配置,可省略 `--service`。
## Workflow C:多服务
```bash
python scripts/trigger_cicd.py --env sit --service mes2,mes-ui-v2 --branch release/MSD-26092-xxx --json
```
## 用法(角色侧)
```text
G2 PASS 且代码已 push 后,用 multica-artifact-cicd-sync 触发 Jenkins 并回传部署链接。
```
## 为什么有效
编排层只依赖 Python;Issue 前缀自动映射到 `jobs-catalog.yaml` 中的 logical service。