2017-02-09 81 views
0

刚刚开始使用Jenkins,因为没有SCM配置选项卡,所以我似乎无法得到如何正确配置管道的SCM。我添加了一个网络挂接到我的gitlab项目,URL从Gitlab webhook触发Jenkins管道

http://my-jenkins-server.com/git/notifyCommit?url=https://my-gitlab-server.com/my-repo.git

但是,当我访问该网址,詹金斯告诉我

No Git consumers using SCM API plugin for: https://my-gitlab-server.com/my-repo.git 

哪种类型的有道理的,因为我没有明确的詹金斯说,我的管道绑这个回购协议,只是在詹金斯脚本含蓄:

stage('Build'){ 
    git url: 'https://my-gitlab-server.com/my-repo.git', branch: 'master', credentialsId: '<some-hash>' 
    sh 'cd linux-native; make clean all' 
} 

那我怎么告诉詹金斯说管道是绑在特异性ic回购?或者,我如何找到适合我管道的notifyCommit网址?

回答

1

假设你已经启用了Poll SCM选项,Git webhooks的功能应该和Freestyle作业一样。

但是,您需要在/git/notifyCommit挂钩工作之前至少手动运行一次管道。

对于自由式项目,Jenkins可以非常容易地检查作业配置并查看配置了哪个SCM。对于脚本管道,Jenkins无法确定您使用的SCM(如果有),直到它实际执行管道。

+0

虽然我已经手动运行过几次! –

+0

@embedded_crysis您是否启用了Poll SCM触发器?我刚刚创建了一个新工作,启用了该触发器并添加了一个简单的GitLab管道:'node {git'https://gitlab.com/...'}'。完成作业的第一轮后,我可以使用'/ git/notifyCommit'。 –

+0

它仍然不适合我 - 但是,我还没有做一个成功的构建。也许这跟它有关系? –