プライベートGitlabv9.0インスタンスで作成および構成されたプロジェクトがあります。このプロジェクトをJenkinsv2.46.1にインポートしましたが、gitlabとの接続は成功しています。その後、gitlabのリポジトリからPushイベントでビルドトリガーを構成しようとしました。 jenkinsでシークレットトークンを生成し、Gitlab CI URLとシークレットトークンを使用してウェブフックを追加しました。ウェブフックをテストしようとすると、例外が発生しました。
Hook executed successfully but returned HTTP 403 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Error 403 anonymous is missing the Job/Build permission</title> </head> <body><h2>HTTP ERROR 403</h2> <p>Problem accessing /project/tapp-builder-service. Reason: <pre> anonymous is missing the Job/Build permission</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/> </body> </html>
誰かが私がこれを解決するのを手伝ってくれますか?
このためにJenkinsに特別なユーザーを追加し、それに応じてGitLabでWebhookを構成するか、グローバルJenkins構成のGitLabセクションで['/ project'エンドポイントの認証を有効にする]チェックボックスをオフにすることができます。ただし、これはデフォルトでオフになっている必要があります。
最良のオプションは、(Jenkinsから)シークレットトークンを作成し、それをgitlabwebhookのシークレットキーに追加することです。
これを構成する最良の方法は
/ projectエンドポイントの認証が必要ですジョブを実行する権限を持つJenkinsユーザーのユーザーIDとAPIキーをコピーします
GitLabでWebhookを作成して、ジョブをトリガーします
次に、HTTP基本認証(以下の形式)を使用します。