簡體   English   中英

如何在Jenkins Job中克隆github組織的私有存儲庫

[英]How to Clone a private repository of github organization in a Jenkins Job

我是github組織的所有者,可以訪問所有存儲庫。 其中一些是私人的,另一些是公共的。 我正在嘗試將Jenkins設置為在向組織的任何存儲庫發出拉取請求時觸發構建。 問題是我有一個外部系統,每當發出請求時,它就會通過github webhooks通知。 我必須將Jenkins與此系統集成在一起。 該系統還可以通過api請求觸發對Jenkins的通知。 https://python-jenkins.readthedocs.org/en/latest/examples.html

我可以看到,所有針對自動Jenkins構建觸發器的解決方案都與Jenkins的github插件有關。 https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin )。 我目前無法使用它,因為我在github和Jenkins之間有一個新系統的附加間接訪問。

當前,當我的系統收到來自github的通知時,它會發出api請求以使用存儲庫名稱和分支來構建作業。 現在,jenkins作業執行一個shell腳本,該腳本對存儲庫進行git clone並運行測試。 我找不到一種方法來對組織的私有存儲庫進行git克隆。

要求

  1. Jenkins build Console輸出是公共的,因此與登錄相關的信息不應出現在輸出中。

  2. Jenkins是為整個組織構建的,因此我不想將ssh密鑰添加到我的github帳戶。

最好的/更清潔的方法是什么?

通常,您可以通過創建只讀的部署密鑰來處理此類事情。 部署密鑰是與單個存儲庫而不是與整個github帳戶關聯的ssh(公共)密鑰。 默認情況下,部署密鑰為只讀(除非添加密鑰時選中了“允許寫訪問”復選框)。

該鏈接還提供了其他一些建議,用於管理從自動化過程對github倉庫的訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM