検索

18.12. チュートリアル: Source-to-Image (S2I) Webhook を使用した自動デプロイ

download PDF

Webhook を使用して、ソースコードを変更するたびに、ビルドとデプロイを自動的にトリガーします。このプロセスの詳細は、Triggering Builds を参照してください。

手順

  1. GitHub Webhook トリガーのシークレットを取得するために、ターミナルで次のコマンドを実行します。

    $ oc get bc/ostoy-microservice -o=jsonpath='{.spec.triggers..github.secret}'

    出力例

    `o_3x9M1qoI2Wj_cz1WiK`

    重要

    このプロセスの後のステップでこのシークレットを使用する必要があります。

  2. OSToy の buildconfig から GitHub Webhook トリガーの URL を取得するために、次のコマンドを実行します。

    $ oc describe bc/ostoy-microservice

    出力例

    [...]
    Webhook GitHub:
    	URL:	https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy/webhooks/<secret>/github
    [...]

  3. GitHub Webhook URL の <secret> テキストを、取得したシークレットに置き換えます。実際の URL は、次の出力例のようになります。

    出力例

    https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy-microservice/webhooks/o_3x9M1qoI2Wj_czR1WiK/github

  4. GitHub リポジトリーで Webhook URL を設定します。

    1. リポジトリーで、Settings > Webhooks > Add webhook をクリックします。

      Add Webhook
    2. "Payload URL" フィールドに、Secret を含む GitHub Webhook URL を貼り付けます。
    3. "Content type" を application/json に変更します。
    4. Add webhook ボタンをクリックします。

      Finish Add Webhook

      Webhook が正常に設定されたことを示す GitHub のメッセージが表示されます。これで、GitHub リポジトリーに変更をプッシュするたびに、新しいビルドが自動的に開始し、ビルドが成功すると新しいデプロイが開始します。

  5. ソースコードを変更します。変更すると、ビルドとデプロイが自動的にトリガーされます。この例では、OSToy アプリケーションのステータスを示す色がランダムに選択されます。設定をテストするために、グレースケールのみを表示するようにボックスを変更します。

    1. リポジトリー内のソースコード https://github.com/<username>/ostoy/blob/master/microservice/app.js に移動します。
    2. ファイルを編集します。
    3. 8 行目 (let randomColor = getRandomColor(); を含む行) をコメントアウトします。
    4. 9 行目 (let randomColor = getRandomGrayScaleColor(); を含む行) のコメントを解除します。

      7   app.get('/', function(request, response) {
      8   //let randomColor = getRandomColor(); // <-- comment this
      9   let randomColor = getRandomGrayScaleColor(); // <-- uncomment this
      10
      11  response.writeHead(200, {'Content-Type': 'application/json'});
    5. "changed box to grayscale colors" など、更新を示すメッセージを入力します。
    6. 下部の Commit クリックして、変更をメインブランチにコミットします。
  6. クラスターの Web UI で、Builds > Builds をクリックして、ビルドのステータスを確認します。このビルドが完了すると、デプロイが開始します。ターミナルで oc status を実行してステータスを確認することもできます。

    Build Run
  7. デプロイが完了したら、ブラウザーで OSToy アプリケーションに戻ります。左側の Networking メニュー項目にアクセスします。ボックスの色がグレースケールの色だけに制限されるようになります。

    Gray
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.