2017-08-09 61 views
1

我在我的本地機器使用Jenkins建(詹金斯URL不暴露在互聯網,但互聯網的是,機上啓用。)如何自動觸發詹金斯工作/時的變化都推到Github上

我做了以下配置更改:

  1. 在Jenkins工具上安裝了Git和Github插件。

  2. 我已經按照以下步驟在Github上進行更改時觸發自動構建。配置Maven構建,我可以通過單擊Build Now鏈接手動構建。

  3. 在詹金斯配置Github的部分,如下所示(Manage Jenkins - >Configure Systemsgithub services configuration in Jenkins

  4. 我已創建使用GIT-bash的SSH密鑰和在Github的帳戶(settings - >SSH and GPG keys - >New SSh Key)加入密鑰 SSH keys added in Git

  5. 在github存儲庫中配置了Webhook設置。 (Repository - >Settings - >Webhook - >add webhookWebhook settings

  6. 我可以手動生成,但是從GitHub推送事件觸發建立不工作。給出以下警告: enter image description here

請幫助我,如果有任何其他的解決方案可供選擇。

+0

不使用WebHook,您可以獲得該過程,但檢查所需的最短時間爲1分鐘。 –

+1

@ChandraSekhar:你能給我一些參考鏈接嗎?或者你能否列出步驟? – Harsha

+0

爲私有存儲庫註冊webhook失敗,但它對使用相同訪問令牌的公共存儲庫成功 –

回答

1

您可以使用git hooks來實現此目的。

首先請確保您已在您的工作中啓用Poll SCM。如果您尚未啓用它,但不提供任何時間表。

在你的Git倉庫中會有隱藏的.git文件夾。在裏面你可以找到一個名爲hooks的子文件夾。

現在這個文件夾中創建一個名爲post-commit文件,不使用任何擴展名的文件,並添加以下行並保存:

#!/bin/bash curl http://localhost:8080/git/notifyCommit?url=<GIT_REPO_URL>

這將掃描所有作業是使用GIT_REPO並在存儲庫中發生更改時觸發構建。欲瞭解更多詳情,請閱讀document.

+0

我想這是針對本地git存儲庫的。如果我想在全局git repo(例如:https://github.com/HarshaBiyani)中更改數據時構建觸發器,該怎麼辦? – Harsha

+0

這不適用於本地git存儲庫。這是針對遠程存儲庫的。 – ANIL

+0

好的。你能告訴我.git文件夾路徑是從我的機器還是從github存儲庫? – Harsha

相關問題