2016-05-10 63 views

回答

1

首先,你應該在作業配置頁面的頂部配置的Git SCM部分以指向您的GitLab庫。

然後,您可以使用內置的「Poll SCM」構建觸發器 - 這將定期檢查您的源代碼庫是否已更改 - 如果有,則會開始構建此作業。

如果自上次構建之後存儲庫未發生更改,則不會啓動構建。

您可以配置此觸發器 - 無論是使用類似cron的語法,還是諸如@daily@midnight這樣的快捷方式 - 以便Jenkins每天只檢查一次源存儲庫。

此外,您應該確保已啓用「忽略提交後掛鉤」選項。如果您使用Git存儲庫中的webhook在發生提交時啓動Jenkins作業,則此選項可防止爲每個Git提交觸發每日一次的作業。

+0

太棒了,我也只是找到了解決方案。無論如何,選項忽略post-commit鉤子用於?你能解釋一下嗎? –

+0

@chetratep它在答案中已經提到。如果你使用[git webhooks](http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/)開始你的Jenkins工作,啓用此選項將防止傳入的webhook觸發構建此作業。 –

1

下面是詳細的文檔: 「詹金斯CI整合

http://doc.gitlab.com/ee/integration/jenkins.html


更新以配合您的評論。

你不想通過webhook觸發Jenkins構建。沒關係。

您想每天檢查一次代碼更改。

Linux上的示例,如果代碼發生更改,則在上午6:00生成。

像這樣

SINCE=`curl http://192.168.0.1:8080/job/MyJava/lastStableBuild/buildTimestamp?format=dd-MMM-yyyy` 

cd /opt/code/myjava/ 

git log --pretty="%h - %s" --author=gitster --since=$SINCE --before=$SINCE --no-merges -- t/ 
  • 後生成的行動

    • 後建設任務
    • 記錄文本:commit
    • 操作:AND
    • 腳本:您的腳本構建自己的Java
  • 詹金斯文字搜索

    • 也搜索控制檯輸出
    • 正則表達式:Could not match
    • 如果發現不穩定
+0

我知道這個配置。但它看起來像你不明白我的問題。我想問問是否有辦法讓jenkins變得更聰明,並且可以在一天內識別源代碼的變化,如果有變化,然後構建,但如果現在讓它無所作爲。你明白嗎? –