本卡屬 FR-167(母卡 CM-3241),卡 P2-4,階段 P2 更新站、批 3。只改 BE(主 repo,Repo 欄空著)。依賴:P1-9a、P2-2。

這張卡做什麼(白話)

CI 出完包自動向更新站登記一筆草稿:先打更新站拿到該放哪個 R2 路徑,再把包、release.json、雜湊檔上傳。token 從 CI 變數來,repo 裡不能有。

為什麼切這一張

一支腳本接兩邊

reuse/extend/new

extend:package job 加一步;R2 上傳用 aws cli S3 相容端點(CI 變數 R2_ACCESS_KEY_ID/R2_SECRET_ACCESS_KEY/UPDATE_SITE_CI_TOKEN,不入 repo);上傳 key 由更新站回,腳本不自己拼主版號資料夾

在哪裡

repo:~/Projects/Billows/Audit-Manager/compliance-manager-be
改既有:.gitlab-ci.yml package job
新開:scripts/build/publish_draft.sh

怎麼做

細節在 design.md §5 對應段(~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/design.md,開 design.html 看導覽);本段只列本卡要做到的點:

怎麼驗(開發期:你在本機/DEV 就要能做完)

glab ci lint 綠;publish_draft.sh 對本機 wrangler dev 與假 R2(--r2-endpoint 指向本機 MinIO 或 wrangler dev 的 r2 模擬)跑通;沒給 token 時立刻紅、訊息說缺哪個 CI 變數;repo 內 grep 不到任何 token。不跑 pipeline

測試期(不是你做):這張卡在 190 的真實情境是「跑一次 tag pipeline:R2 有 releases/<版>/ 兩檔、更新站後台出現草稿;token 缺時 job 紅且訊息清楚」,由首腦在測試期操作、決策者看畫面。你只要確保上面的本機驗收全過、程式對這個情境沒有寫死假設。

對照雛形:~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-167-2610-online-update-channel/prototype/index.html(上方「跟著走」)。

紀律