簡體   English   中英

GitHub 與 Jenkins 的集成

[英]GitHub integration with Jenkins

將 Jenkins 與 GitHub 集成有多種方法

方法1)通過將Jenkins生成的公鑰文件復制到GitHub賬號,開啟GitHub和Jenkins的ssh通信。 這是一次任務。

對於任何管道,使用任何 GitHub url(比如ssh://git@github.com/account/repo.git )並使用 Github 插件為相應的管道配置添加

所以,Jenkins 文件只需要有checkout SCM來 checkout

方法 2) 通過為每個新的 repo 添加 webhook 來啟用 https 通信,生成令牌並啟用 GitHub 和 Jenkins 之間的 https 通信。 但是對於在 GitHub 中創建的每個新存儲庫,都應該重復這種方法。

我們在生產中使用 GitHub 存儲庫...

在生產中將 GitHub 與 Jenkins 集成的最佳實踐是什么?

除非您談論的是本地 GitHub Enterprise,否則您也可以使用GitHub Action替代方法。

https://user-images.githubusercontent.com/1872314/47345918-3b280e80-d6ac-11e8-9f44-8cc02754f691.png

  • 或者使用appleboy/jenkins-action ,一個觸發 Jenkins 作業的 GitHub 操作。
    這樣,您就可以調用自己的 Jenkins 服務器,而不必聲明一個 webhook 並為該 webhook 實現一個偵聽器。

那是:

name: trigger jenkins job
on: [push]
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
    - name: trigger single Job
      uses: appleboy/jenkins-action@master
      with:
        url: "http://example.com"
        user: "example"
        token: ${{ secrets.TOKEN }}
        job: "foobar"

兩者基本上是兩種不同的東西。

第一種方法允許您設置憑證以使用 Jenkins 檢出和推送源代碼到 GitHub。 第二種方法允許您在存儲庫中檢測到更改時設置自動構建觸發器。

總之,第一個是構建獲取源代碼所必需的,而第二個是可選的,因為您也可以手動觸發構建,盡管代碼推送的自動觸發器是持續集成所固有的。 此外,您無需為每個存儲庫單獨添加 webhook。 相反,在組織級別添加一次以涵蓋該組織中的所有存儲庫,包括任何新添加的存儲庫。

暫無
暫無

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

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