一覧に戻る
    【Jenkins】フリースタイルジョブを使いこなそう!~かわいい子猫の画像を取得してみる~
    CI/CD
    PRこの記事には広告が含まれています

    【Jenkins】フリースタイルジョブを使いこなそう!~かわいい子猫の画像を取得してみる~

    (更新日: 2026/1/4)
    11 分で読める

    はじめに

    こんにちは株式会社TIELECのタカシユウトです。 この記事ではJenkinsのフリースタイルジョブの使い方ついて紹介します。 これからJenkinsを学びたいと考えている方におすすめの内容となっています。

    Jenkins フリースタイルジョブを使ってみよう

    シナリオ

    猫の画像を取得して保存し、ジョブの実行結果をSlackに通知する

    1. フリースタイルジョブを作成する

    Enter an item name にジョブ名を入力して ジョブを作成します。 ジョブ名: kittenimagegenerator

    設定の入力

    • 説明

    ジョブの説明分を入力しましょう。

    • Throttle Concurrent Builds

    ジョブの同時実行数を制御できます。ワークスペースのファイルを編集したりする処理が入る場合は同実行可能にしていると処理がカニバることが考えられるので、同時実行数は 1 に制御しておきましょう。それ以外の場合は処理の負荷に応じて制限するようにしましょう。

    例えばコンパイルを複数同時に実行したい場合もあるかもしれませんが、マシンのスペックが十分でない場合はJenkinsが故障する恐れもあるので適切にコントロールすることが大切です。

    • ビルドのパラメータ化

    シェルやWindows バッチを実行するときに環境変数としてパラメータを設定することができます。 今回はダウンロードした猫の画像を保存するファイル名を文字列のパラメータとして設定してみます。

    名前: KITTEN_IMAGE_FILE_NAME
    デフォルト値: kitten-image.jpg
    説明: 保存する猫の画像のファイル名

    もちろんパラメータを設定しないで運用することも可能です。

    • 古いビルドの破棄

    過去のビルド結果は一定期間保持した後破棄し、ビルド結果をローテーションするようにしましょう。

    Jenkinsはジョブの実行結果をファイルとして管理しています。 ビルド結果をローテーションしないまま放置するとJenkinsのディスク容量を圧迫する要因となりJenkinsの運用に支障をきたすことがあります。

    具体的にはディスク容量がなくなるとジョブが実行できなくなります。 もっとひどくなると画面が開かなくなります。

    このようにならないためにもビルド結果のローテーションは極力設定するようにしましょう。

    ローテーションは 日数 または ビルドの数 の組み合わせで設定が可能です。 高度な設定を開くと 成果物の保存日数 や 、 成果物の保存最大ビルド数 といった単位でも設定可能です。

    今回はビルドの保存最大数を 5 として設定してみます。

    • 実行するノードを制限

    Jenkinsのジョブを実行するサーバーをコントロールすることができます。 スレーブが設定されている場合は極力 スレーブに処理を任せるようにしましょう。 マスターはジョブの統合管理をすることが主な役割で、ジョブの実行はスレーブに任せることがJenkinsの基本プラクティスです。


    • ビルド

    ビルド手順の追加 から行いたい処理を設定します。 今回は一番ベーシックな シェルの実行 をやってみます。 サーバーが Windowsの場合は Windows バッチコマンドの実行 を選択することになります。

    シェルスクリプト

    curl --fail -o ${KITTEN_IMAGE_FILE_NAME} http://www.randomkittengenerator.com/cats/rotator.php


    • ビルド後の処理
      • 成果物を保存 保存するファイル名を入力します。 今回はパラメータに保存するファイル名を定義しているので、${KITTEN_IMAGE_FILE_NAME} と記入します。警告が出ますが、Jenkinsがこの時点だとファイル名を認識できていないだけなので無視してOKです。
      • Slack Notifications

    ジョブの実行結果をSlackに通知して結果を確認できるようにしてみます。 今回は 成功 と 失敗 の 両方通知してみます。

    Slack の通知先は #topic_step_up_jenkins に設定してみます。

    • ワークスペースを削除

    Jenkinsのワークスペースはジョブで共通です。作業が終わったら次のジョブ実行時に影響が出ないようにワークスペースはきれいにしておきましょう。

    保存

    ここまで設定が終わったら 保存または Apply を押してください。

    • 保存 : 設定を保存して閉じる。
    • Apply : 設定の保存のみ

    2. フリースタイルジョブを実行してみる

    • ジョブを選択
    • パラメータ付きビルドを選択
    • ビルド実行

    パラメータをデフォルトから編集する場合はこの画面で編集します。

    • ビルド履歴にキューが入る ジョブを実行するとビルド履歴にジョブが入ります。もしJenkinsの実行サーバーが込み合っている場合、もしくは同時実行数の制限を超えている場合は実行待ちとなります。
    • Slackに通知が飛ぶ 実行結果がSlackに通知されます。 Open がジョブへのリンクとなっておりJenkinsの実行結果に飛ぶことができます。
    • ジョブの実行結果確認 Openから開いた先はブルーオーシャンの画面またはクラシックUIのどちらかにジャンプします。 昔から使っているJenkinsだとクラシックの画面に移動すると思います。
      • ブルーオーシャン からクラシックUIに戻れる。
      • クラシックUI
    • 成果物の確認

    kitten-image.jpg と書かれたファイルが成果物として保存されいるのでクリックしてみましょう。

    無事に猫の画像を取得することができました。

    おまけ

    http://www.randomkittengenerator.com/

    今回猫の画像生成に利用したのはこちらのサイトです。 こちらにアクセスすると子猫の画像がランダムで表示されます。

    関連ページ

    おすすめ書籍

    もっと深く学びたい方へ

    この記事で、フリースタイルジョブの作り方は理解できたと思います。

    でも、「どういうタスクを自動化すべきか」「フリースタイルとPipelineのどちらを選ぶか」という判断は、メンテナンス性や拡張性を考える必要があります。

    より深い理解のために、こちらの記事もおすすめです:

    AI駆動開発の「アクセルとブレーキ」:`__main__`エントリーポイントで1時間溶けた話

    AI駆動開発の「アクセルとブレーキ」:`__main__`エントリーポイントで1時間溶けた話

    Tech
    開発ラボ
    「監視を整えたい」から始まったヒアリングが、朝チェックの話に着地した理由

    「監視を整えたい」から始まったヒアリングが、朝チェックの話に着地した理由

    Tech
    SRE

    この記事は役に立ちましたか?

    Coffee cup

    この記事が、何かの整理につながったら

    コーヒー1杯分の応援をもらえると嬉しいです。

    ※ これは応援とは別の話ですが、

    同じようなテーマを自分の文脈で整理したい場合は、 (文章だけだと詰まりやすい人向けに) 思考整理の壁打ちという形で対話の時間も取っています。

    対話の時間について