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

Container Service for Kubernetes:ACK サーバーレスクラスターでの Jenkins のデプロイとアプリケーションのビルドおよびデプロイ

最終更新日:Mar 27, 2026

このチュートリアルでは、Helm を使用して ACK サーバーレスクラスターに Jenkins をデプロイし、最初のパイプラインビルドを実行する手順を説明します。Jenkins は、永続的な Pod 上でコントローラーを実行し、ビルドジョブごとにクラスター内にエージェント Pod を動的に作成します。

前提条件

開始する前に、以下が準備できていることを確認してください。

注意事項

Jenkins はコミュニティによってメンテナンスされているオープンソースツールです。Alibaba Cloud は Jenkins のテクニカルサポートを提供していません。Jenkins のインストール環境のメンテナンスは、お客様の責任で行ってください。

ステップ1:Jenkins のデプロイメント

Helm リポジトリの設定

Jenkins Helm リポジトリを追加し、ローカルのチャートインデックスを更新します。

helm repo add jenkins https://charts.jenkins.io
helm repo update

期待される出力:

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jenkins" chart repository
Update Complete. Happy Helming!
Jenkins Helm リポジトリは中国本土以外でホストされています。ご利用の ACK サーバーレスクラスターが中国本土にデプロイされている場合、helm repo update コマンドの実行に通常より時間がかかることがあります。

Jenkins のインストール

  1. cicd 名前空間を作成します。

    kubectl create ns cicd
  2. Jenkins のホームディレクトリ用に NAS ボリュームを作成します。永続ストレージがない場合、コントローラー Pod が再起動するたびに、すべての Jenkins の構成とジョブ履歴が失われます。次に進む前に、ネットワークアタッチトストレージ (NAS) ボリュームと、pvc-nas という名前の永続ボリューム要求 (PVC) を cicd 名前空間に作成してください。

  3. cicd 名前空間に Jenkins をデプロイします。

    helm -n cicd install jenkins jenkins/jenkins \
      --set persistence.existingClaim=pvc-nas \
      --set controller.serviceType="LoadBalancer" \
      --set controller.adminPassword="admin"
    パラメーター 説明 必須
    persistence.existingClaim=pvc-nas NAS ボリュームをマウントする PVC の名前。cicd 名前空間に作成した PVC と一致する必要があります。 はい
    controller.serviceType="LoadBalancer" Jenkins サービスをクラウドロードバランサー経由で外部に公開します。デフォルトは ClusterIP で、クラスター内からのみアクセス可能です。ACK サーバーレスクラスターでは、ブラウザから Jenkins UI にアクセスできるように、この値を LoadBalancer に設定します。 いいえ
    controller.adminPassword="admin" 固定の管理者パスワードを設定します。省略した場合、Jenkins はランダムなパスワードを生成します。このパラメーターを省略した場合は、「ランダムに生成されたパスワードの取得」をご参照ください。 いいえ

    利用可能なすべてのパラメーターについては、「jenkins/helm-charts」をご参照ください。

  4. Jenkins コントローラー Pod のステータスが Running になるまで待ちます。

    kubectl -n cicd get po

    期待される出力:

    NAME        READY   STATUS    RESTARTS   AGE
    jenkins-0   2/2     Running   0          3m3s

Jenkins へのアクセス

Pod が実行中になったら、ブラウザを開き、Jenkins サービスの外部 IP アドレスにアクセスします。ユーザー名 admin と、インストール時に設定したパスワードでログインします。

外部 IP アドレスを調べるには、次のコマンドを実行します。

kubectl -n cicd get svc jenkins

EXTERNAL-IP 列にロードバランサーの IP アドレスが表示されます。

ランダムに生成されたパスワードの取得

インストール時に controller.adminPassword を設定しなかった場合は、次のコマンドで生成されたパスワードを取得します。

kubectl -n cicd exec -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo

インストール後のサービスタイプの変更

デフォルトの ClusterIP サービスタイプで Jenkins をデプロイし、後からロードバランサー経由で公開したい場合は、次のコマンドを実行します。

kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'

ステップ2:パイプラインビルドの作成

Jenkins は Kubernetes プラグインを介して ACK サーバーレスクラスターと統合します。ビルドをトリガーすると、Jenkins はクラスター内にエージェント Pod を動的に作成してジョブを実行します。Pod には、Jenkins エージェントとして機能し、コントローラーに接続する jnlp コンテナが含まれています。ビルドが完了すると、Jenkins はすぐにエージェント Pod を終了させるため、クラスターリソースはアクティブなビルド中にのみ消費されます。

以下の手順では、Hello World テンプレートを使用して first-pipeline という名前のパイプラインビルドを作成します。

  1. Jenkins にログインし、左側のナビゲーションウィンドウで [新規アイテム] をクリックします。

  2. [項目名を入力] フィールドに first-pipeline と入力し、[パイプライン] を選択して [OK] をクリックします。

  3. 構成ページの上部にある [パイプライン] タブをクリックします。[Hello World] テンプレートを選択し、[保存] をクリックします。

    pipeline

  4. 左側のナビゲーションウィンドウで [今すぐビルド] をクリックしてビルドをトリガーします。

  5. ビルドが開始されたら、左側のナビゲーションウィンドウで [ビルド履歴] をクリックし、次に [1#] をクリックしてビルド詳細を開きます。[コンソール出力] をクリックしてビルドログを表示し、ビルドが成功したことを確認します。

次のステップ

  • エージェント Pod テンプレートをカスタマイズして、特定のコンテナイメージを使用したり、言語固有のビルド用に複数のコンテナを追加したりします。詳細については、「Jenkins Kubernetes Plugin」をご参照ください。

  • ソースコード管理と Webhook を構成して、コードの変更時にパイプラインビルドを自動的にトリガーします。詳細については、「Jenkins ドキュメント」をご参照ください。