Jenkins + GitBlit筆記

環境: Jenkins ver. 2.176.2 + gitblit-1.8.0

需要注意 gitblit 要在對應的 repository 下面設置post-receive scripts爲自己的腳本 my-jenkins-notify.groovy

這個腳本放到 gitblitgroovy目錄下 gitblit-1.8.0\data\groovy, 修改腳本中的192.168.31.8爲你自己的jenkins服務器地址:

import com.gitblit.GitBlit
import com.gitblit.Keys
import com.gitblit.models.RepositoryModel
import com.gitblit.models.UserModel
import com.gitblit.utils.JGitUtils
import org.eclipse.jgit.lib.Repository
import org.eclipse.jgit.revwalk.RevCommit
import org.eclipse.jgit.transport.ReceiveCommand
import org.eclipse.jgit.transport.ReceiveCommand.Result
import org.slf4j.Logger

def triggerUrl = "http://${user.username}@192.168.31.8:8080/git/notifyCommit?url=${url}/r/${repository.name}"

logger.info("jenkins hook triggered by ${user.username} for ${repository.name}, notify " + triggerUrl)

new URL(triggerUrl).getContent()

Jenkins中建立Free style Project, 在其 Source Code Management 下面設置相應的 GitBlit 的 repository 地址, 同時在Build Triggers 中勾選Poll SCM,內容不填就ok了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章