Jenkins+webhookマルチプロジェクトマルチ環境の区別
私の方法は jenkinsカード取付 jenkinsのwebhook urlを取得 api token url
git倉庫のwebhookの配置 jenkinsプロジェクトの構成 カード変数解析紹介 項目変数 環境変数 filter追加 参考資料
Jenkinsプラグインのインストール
jenkinsへの
jenkinsのwebhook urlを取得
api token
Jenkinsの
Jenkinsのwebhookアドレスのつなぎ方は以下の通りです.
gitウェアハウスのwebhookの構成
こちらはコードクラウドを使っていますが、コードライブラリの
記入する情報が3つあります選択 urlはプロジェクト情報を持っているので、urlは
jenkinsプロジェクトの構成
プラグイン変数解析の概要
jenkinsのitemsのconfigureページに行って、見つけてpostが持ってきたbodyパラメータ headerパラメータ url後のrequestパラメータ プロジェクト変数
Projectはrequestパラメータに入っているので かんきょうへんすう
環境変数はコードクラウドからデフォルトで渡されたbodyに存在するrefフィールドを通じて、具体的なコードクラウドWebhookから送られてきたbodyはこのリンクを見ることができ、異なるコードライブラリは大同小異である.
だからここにもう一つ選択 フィルタの追加
変数が取得されると、filterで条件を満たすWebhookトリガ配置を取得する必要があります.
現在配置 ここまででdebugができ、コードを更新するとwebhookがJenkinsのプロジェクトを自動的に構築するようにトリガーされます!
参考資料Generic Webhook TriggerプラグインによるJenkins+WebHooks(コードクラウド)持続統合 jenkinsのgit上の文書 コードクラウドのwebhook説明ドキュメント
webhook urlに持ち込む
ブランチ名で管理するJenkinsプラグインのインストール
jenkinsへの
ページ、インストールGeneric Webhook Trigger
プラグインjenkinsのwebhook urlを取得
api token
Jenkinsの
ページへ、あなたが設定するユーザーを見つけて、見つけてAPI Token
一つ、得てUser ID
とAPI Token
url Jenkinsのwebhookアドレスのつなぎ方は以下の通りです.
http://<User ID>:<API Token>@<Jenkins IP >: /generic-webhook-trigger/invoke
gitウェアハウスのwebhookの構成
こちらはコードクラウドを使っていますが、コードライブラリの
setting->webhook
webhookを追加できます記入する情報が3つあります
url
上記で得られたurlを記入push
方法password
あなたが使っているjenkinsユーザーのパスワードhttp://<User ID>:<API Token>@<Jenkins IP >: /generic-webhook-trigger/invoke?project=
jenkinsプロジェクトの構成
プラグイン変数解析の概要
jenkinsのitemsのconfigureページに行って、見つけて
Build Triggers
、選択Generic Webhook Trigger
Webhookは実はネットワークリクエストなので、プラグインは3つの変数をサポートしています.Projectはrequestパラメータに入っているので
Build Triggers
ひとつ追加Request parameters
、記入Request parameter
に記入project
urlに対応するパラメータ環境変数はコードクラウドからデフォルトで渡されたbodyに存在するrefフィールドを通じて、具体的なコードクラウドWebhookから送られてきたbodyはこのリンクを見ることができ、異なるコードライブラリは大同小異である.
だからここにもう一つ
Post content parameters
Variable
記入ref
Expression
記入$.ref
、ここ$
body全体を表す.
json里層データの取得JSONPath
方式変数が取得されると、filterで条件を満たすWebhookトリガ配置を取得する必要があります.
現在配置
Optional filter
、ここでは複数の変数をスペースで区切りますExpression
記入^(refs/heads/git ) ( )$
Text
記入$ref $project
参考資料