2017-02-09 19 views
0

ちょうどJenkinsで始まったので、そこにはSCM設定タブがないので、パイプライン用のSCMを正しく設定する方法がないようです。私は、URLトリガージェンキンスパイプラインGitlab webhook

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

で、私のgitlabプロジェクトにウェブフックを追加しました。しかし、私はそのURLにアクセスすると、ジェンキンスさんは、私が明示的に持っていないので、ソートの理にかなって

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' 
} 

それでは、どのように私はパイプラインがspecifに結びついていることジェンキンスを教えてくださいic repo?あるいは、私のパイプラインに適切なnotifyCommitのURLを見つけるにはどうすればよいですか?

答えて

1

Poll SCMオプションを有効にしていると仮定すると、Git webhooksはFreestyleジョブの場合と同じように機能するはずです。

しかし、/git/notifyCommitフックが機能するには、少なくとも1回手動でパイプラインを実行する必要があります。

フリースタイルプロジェクトの場合、Jenkinsはジョブ設定を簡単に調べて、どのSCMが設定されているかを確認できます。 Scripted Pipelineの場合、Jenkinsは実際にパイプラインを実行するまで、使用しているSCM(存在する場合)を判別できません。

+0

私は手動で何回も実行しました! –

+0

@embedded_crysis Poll SCMトリガーを有効にしましたか?私はちょうど新しい仕事を作り、そのトリガーを有効にし、単純なGitLabパイプラインを追加しました: 'node {git 'https://gitlab.com/...'}'。ジョブの最初の実行が完了した後、 '/ git/notifyCommit'を使用することができました。 –

+0

まだ私のために働いていない - しかし、私はまだ成功したビルドを行う必要があります。多分これには何か関係がありますか? –