すべてのプロダクト
Search
ドキュメントセンター

:Jenkins CIパイプラインを使用してアプリケーションの自動更新を有効にする

最終更新日:Nov 11, 2024

Application Centerが提供するトリガーを使用して、アプリケーションのソーステンプレートで指定されたイメージバージョンを更新し、アプリケーションを再デプロイできます。 トリガーを使用して、オーケストレーションテンプレートのみを更新できます。 Jenkinsを使用して、継続的インテグレーション (CI) パイプラインを構築できます。 CIパイプラインが構築された後、イメージを構築し、オーケストレーションテンプレートで使用されるイメージのバージョンを更新できます。 その後、トリガーを使用して、オーケストレーションテンプレートに基づいてアプリケーションを更新できます。 このトピックでは、Jenkins CIパイプラインを使用してアプリケーションの自動更新を有効にする方法について説明します。

前提条件

背景情報

このトピックでは、アプリケーションで使用されるイメージのバージョンで、アプリケーションページに赤色が表示されるように指定します。 Jenkins CIパイプラインを使用して、画像のバージョンを緑色を指定するバージョンに変更できます。 次に、トリガーを使用してアプリケーションを更新します。 アプリケーションの更新後、ブラウザを使用してアプリケーションにアクセスし、色が変更されているかどうかを確認できます。 結果は、アプリケーションがトリガーによって正常に更新されたかどうかを示します。 アプリケーションページに表示される色が緑色に変更された場合、アプリケーションのイメージバージョンが変更されたことを示します。 これは、Jenkins CIパイプラインを使用してアプリケーションの更新が正常に実行されたことも示します。

手順

  1. ビルドジョブを作成し、registry.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:greenイメージを作成してプッシュします。 詳細については、「JenkinsをACKクラスターにデプロイし、アプリケーションを作成してデプロイする」をご参照ください。

  2. 次のスクリプトを実行して、Application Centerをトリガーし、registry.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:greenイメージを使用してアプリケーションを再デプロイします。

    ## 4. trigger appcenter
    DEPLOYMENT_NAME=demo
    CONTAINER_NAME=demo
    IMAGE=registry.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:green
    cat <<EOF > patch.json
    {
        "resource":{
            "deployment":{
                "metadata":{
                    "name":"$DEPLOYMENT_NAME"
                },
                "spec": {
                    "template": {
                        "spec": {
                            "containers": [
                                {
                                    "name":"$CONTAINER_NAME",
                                    "image":"$IMAGE"
                                }]
                        }
                    }
                }
            }
        }
    }
    EOF
    
    curl -X POST -H 'content-type: application/json' \
        https://cs.console.alibabacloud.com/hook/trigger?token=xxxxxxxx \
        -d "$(cat patch.json)"
    {"code":"200","message":"","requestId":"151c92fd-d97b-4eff-a6da-4669114fa4f0"}

結果の検証

  1. アプリケーションのエンドポイントを取得します。

    1. ACKコンソールにログインします。

    2. ACKコンソールの左側のナビゲーションウィンドウで、クラスター.

    3. [クラスター] ページで、管理するクラスターを見つけ、クラスターの名前をクリックするか、[操作] 列の [詳細] をクリックします。 クラスターの詳細ページが表示されます。

    4. 詳細ページの左側のナビゲーションウィンドウで、ネットワーク > イングレス.

    5. ルーティングページでデモのエンドポイントを表示します。

  2. hostsファイルに以下を入力します。

    <endpoint> app.demo.example.com 
  3. ブラウザのアドレスバーにapp.demo.example.comを入力し、Enterキーを押してアプリケーションにアクセスします。

    次の図に示すようにページが表示される場合は、色が変更され、アプリケーションが更新されていることを示します。

    Verify the result