iT邦幫忙

0

Github submodule CI/CD

  • 分享至 

  • xImage

Greeting :

我在使用 github action 的時候碰到這樣的問題
我有兩個專案,分別是前端,後端,

  1. 我有 repo-後端
  2. 我有 repo-前端

由於現在 CI/CD 都在 repo-前端 repo-後端 當中,造成軟體跟 CI/CD 代碼是在一起的。

舉例

index.html  <-- 這是軟體端寫的
/.github/workflows/main.yml  <- 這是我維護的  

我想要把專案分離,軟體歸軟體,CI/CD 歸 CI/CD,也就是把 CI/CD 獨立出來,
變成以下結構

  1. repo-後端
  2. repo-前端
  3. repo-devops

但是我不知道要怎麼讓 repo-後端 吃到 repo-devops 裡面的 .github/workflows/main.yml

我希望最終的結果是
後端更新 code 的時候,會跑 devops 裡面的 .github/workflows/main.yml 的 CI/CD
但是跑的過程是要呈現在 後端 repo 的 action 裡面,讓後端看的。

總覺的是用 submodule 處理,但是不知道是誰引入誰,沒有頭緒。

我自己做出來了。
我自己做出來了。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
iT邦新手 1 級 ‧ 2023-06-08 00:49:31

嗨~

剛剛簡單查了一下,大概 Triggering by other repository #26323 中有解答。
其中這則留言中提供這個範例:producer workflowconsumer workflow 可以直接參考。

另外我強力推薦提問時,若幸運自己解答成功,可以更新自己的解答方式,會是一個比較好的選擇喔

:)
前幾天我覺得我想出來了,
可是我這幾天實作有點小卡關
還在試驗當中,
所以還沒辦法貼,
我看當時也沒人回,
我本來想說就把這篇關了。
只是不知道怎麼關閉。

我看了一下那三篇,我有曾經嘗試過
on: repository_dispatch

script actions/github-script@v6
只是說跟我想的還是有一點落差的,
會達不到我預期的效果,
因為 Build/test/deploy 細節不會被展示在BE repo 上面。

以這三篇大致上說的都是用 repository_dispatch 用 github_token 去觸發,

Library 更新 -> 觸發 APP repo workflow
翻譯成我現況可能有兩種狀況,先不管誰引入誰。

BE/FE 更新 -> 觸發 Devops workflows
這個呼叫是錯誤的, Devops workflows 訊息只會展示在 Devops repo

Devops 更新 -> 觸發 BE/FE repo workflow
但 BE/FE 還是吃不到 Devops .github/workflows/main.yml

其實 BE 的 workflows 流程裡,要吃到 Devops 裡面的 CI/CD。
翻了翻文件,可能會從下面文件的第三點再切入,而不是在 on 的時候思考。
https://docs.github.com/en/actions/using-workflows/reusing-workflows

還在努力做實驗中。

只是我覺得,就算做出來成功可能還是會有其他問題,
我也不知道可能有啥問題...但總覺得有坑就是了

我要發表回答

立即登入回答