現在,任何在我的項目中創建分支並向其中添加.gitlab-ci.yml文件的人都可以使用runner在我的服務器上執行命令。我該如何做到這一點,只有主人或所有者可以上傳CI配置文件並對其進行更改?如何限制跑步者到一個特定的分支並從變化中鎖定.gitlab-ci.yml?
我在使用bash運行https://gitlab.com/gitlab-org/gitlab-ci-multi-runner。
現在,任何在我的項目中創建分支並向其中添加.gitlab-ci.yml文件的人都可以使用runner在我的服務器上執行命令。我該如何做到這一點,只有主人或所有者可以上傳CI配置文件並對其進行更改?如何限制跑步者到一個特定的分支並從變化中鎖定.gitlab-ci.yml?
我在使用bash運行https://gitlab.com/gitlab-org/gitlab-ci-multi-runner。
GitLab跑步者並不是真正爲這種場景設計的,因此你無法做到這一點。你可以做的只是使用.gitlab-ci.yml
文件創建一個新項目,並對其進行配置,以便它能夠提取原始存儲庫。從那裏你可以做所有你想用你的倉庫做的其他事情。
對不起,我不明白這是如何工作的。你能解釋一下嗎(推到項目A = CI那是幹什麼的) 像剛剛用我的ci文件做的新項目一樣嗎? – CausingUnderflowsEverywhere
@CausingUnderflowsEverywhere你有2個回購。回購A是您的原始回購,沒有啓用亞軍並且沒有CI文件。回購B是你的「亞軍回購」,你只有CI文件。在該文件中,您可以「拉拽」回購A並執行您想要執行的所有其他操作。這樣你就可以鎖定CI文件並且仍然擁有所有權利。沒有其他辦法可以真正做到這一點。 – Fairy
嗯,每次我想要運行配置項時都需要手動推送,但它不是自動的,所以它不值一提。謝謝你的提示。如果我一個人工作,那很有可能,但事實是,正如我在問題中所說的,我正在與其他人一起工作。對我來說,根本不可行,看看是否有人推動回購A對我來說,推動回購B來激活回購A中不會出現在合併請求上的CI。我可以使用webhooks等,即使使用你的工作,我會把這個CI放在一些由webhook激活的代碼中。 – CausingUnderflowsEverywhere
這使我感到非常合理的功能要求。特別是因爲gitlab-ci現在支持部署。你有沒有考慮過[這裏](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/)? – Matthew