teratail header banner
teratail header banner
質問するログイン新規登録
Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Q&A

解決済

1回答

4407閲覧

jenkins 上流プロジェクトの特定ブランチのビルド成果物を下流プロジェクトで利用したときにmasterブランチもビルドされてしまう

yochun02

総合スコア76

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

0グッド

0クリップ

投稿2021/04/15 10:49

編集2021/04/15 11:09

0

0

jenkinsで上流プロジェクトで生成したファイルなどを下流プロジェクトで流用したく、jobを作ったのですが、下流プロジェクトのビルドが2回実行されてしまいます。
設定は以下のような感じです。

【上流プロジェクト(super_project)のjob】

  • 「ビルドのパラメータ化」に✔
    名前:<target_branch>
    デフォルト値:<master>
  • 「成果物のコピーの許可」に✔
    成果物のコピーを許可するプロジェクト:<sub_project>
  • ソースコード管理
    「Git」に✔
    ・適宜チェックアウトするリポジトリ情報を設定
  • ビルド
    project/build/配下にファイル生成(test.txt)
  • ビルド後の処理
    Trigger parameterized build on other projects > Build Triggersを追加
    ・Projects to build: <sub_project>
    ・Trigger when build is: Stable
    ・Current build parametersを追加

【下流プロジェクト(sub_project)のjob】

  • 「ビルドのパラメータ化」に✔
    名前:<target_branch>
    デフォルト値:<master>
  • ソースコード管理
    「なし」に✔
  • ビルド・トリガ
    「他プロジェクトの後にビルド」に✔
    ・対象プロジェクト:<super_project>
    ・「安定している場合にのみ起動」に✔
  • ビルド
    「他プロジェクトから成果物をコピー」に✔
    ・プロジェクト:<super_project>
    ・「ビルド:最新の成功ビルド_安定ビルドのみ」に✔
    ・コピーする成果物:コピー元パス(project/build/test.txt)
    ・コピー先ディレクトリ:コピー先パス(project/sub/)
    ・「Fingerprint Artifacts」に✔

この状態で、上流プロジェクトのjob > 「パラメータ付きビルド」で
target_branch:develop

でビルドすると、下流プロジェクトでのビルドがmasterブランチとdevelopブランチ両方がビルドされてしまいます。(masterブランチのビルドが不要)

なぜこのような挙動になるのか、どうすればdevelopブランチだけのビルドができるのか教えて頂けないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

上流プロジェクト(super_project)のjobで、Trigger parameterized build on other projects > Build Triggersに、以下を追加することはできますか?

下流プロジェクト(sub_project)のjobで、target_branchがdevelopとなるようパラメータを指定するイメージです。

Add Parameters : どのパラメータを次のJobに渡すのかを指定できます
Boolean parameters : true/false のパラメーターを設定できます
Build on the same node : 次の Job を同じ node(=スレーブ) でビルドできます
Current build parameters : このビルドのパラメータをそのまま次のJobに引き継げます
Parameters from properties file : プロパティファイルに設定されたパラメーターを次の Job に引き継げます
Predefined parameters : 次の Job に渡すパラメーターを定義できます
Restrict matrix execution to a subset : Groovy filterを設定できます
Subversion revision : Subversionのリビジョン番号を引き継げます

Jenkins によるパラメーター連携の自動化

投稿2021/06/12 16:04

yurak

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yochun02

2021/06/14 11:43 編集

上流プロジェクトで ビルド後の処理 Trigger parameterized build on other projects > Build Triggersを追加 ・Projects to build: <sub_project> 下流プロジェクトで「他プロジェクトの後にビルド」に✔ をしていたことが直接の原因でした。。(それぞれ下流プロジェクトをビルドする設定なので二回実行されていた。→ 下流の方の✔を外したら一回だけ下流プロジェクトがビルドされました) 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問