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

Container Service for Kubernetes:ACK クラスターに Jenkins をデプロイし、アプリケーションを作成してデプロイする

最終更新日:Nov 09, 2025

Jenkins は、継続的インテグレーションと継続的デプロイメント (CI/CD) を実装するために使用されます。Container Service for Kubernetes (ACK) クラスターに Jenkins をデプロイして、サービスの可用性を高め、O&M コストを削減できます。このトピックでは、ACK クラスターに Jenkins をデプロイし、簡単なアプリケーションを作成してデプロイする方法について説明します。

前提条件

注意事項

Jenkins のテクニカルサポートは提供されていません。Jenkins を使用する開発者は、Jenkins を維持する必要があります。

重要

Jenkins の Helm チャートとイメージは中国国外のソースからのものです。そのため、プル操作が失敗する可能性があります。次のソリューションを使用できます。

ステップ 1: Jenkins のデプロイ

  1. 次のコマンドを実行して、Jenkins Helm Repo を設定します。

    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!⎈
  2. Jenkins をインストールします。

    1. 次のコマンドを実行して、cicd という名前の名前空間を作成します。

      kubectl create ns cicd
    2. 次のコマンドを実行して、Jenkins を cicd 名前空間にデプロイします。

      helm -n cicd install jenkins jenkins/jenkins \
        --set persistence.storageClass="alicloud-disk-essd" \
        --set persistence.size="20Gi" \
        --set controller.serviceType="LoadBalancer"   \
        --set controller.admin.password="admin" 
      • persistence.storageClass="alicloud-disk-available": 利用可能なクラウドディスクタイプを自動的に選択し、ディスクボリュームを作成して jenkins_home ディレクトリ内のファイルを永続化します。このパラメーターは必須です。

      • persistence.size="20Gi": Elastic Compute Service (ECS) クラウドディスクの最小容量を 20 GiB に設定します。このパラメーターは必須です。

      • controller.serviceType="LoadBalancer": デフォルト値は ClusterIP です。このパラメーターはオプションです。

      • controller.admin.password="admin": 管理者パスワードを指定します。このパラメーターはオプションです。デフォルトでは、ランダムなパスワードが生成されます。

      他のパラメーターの詳細については、「helm-charts」をご参照ください。

    3. 次のコマンドを実行して Jenkins Pod のステータスをクエリし、Jenkins Pod が正常に実行されるまで待ちます。

      kubectl -n cicd get po

      予想される出力:

      NAME        READY   STATUS    RESTARTS   AGE
      jenkins-0   2/2     Running   0          3m3s
  3. デフォルトでは、Jenkins サービスのタイプは ClusterIP です。ブラウザから Jenkins にアクセスするには、次のコマンドを実行してサービスタイプを変更します。

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

    次に、次のコマンドを実行して、サービスの外部 IP アドレスを表示します。

    kubectl get -n cicd service

    予想される出力:

    NAME            TYPE           CLUSTER-IP        EXTERNAL-IP     PORT(S)          AGE
    jenkins         LoadBalancer   192.168.***.***   8.222.***.***   8080:30949/TCP   2d17h
    jenkins-agent   ClusterIP      192.168.***.*     <none>          50000/TCP        2d17h
  4. ブラウザで、前のステップで取得した IP アドレスとポートを入力して Jenkins サービスにアクセスします。次に、ユーザー名とパスワードを入力してログインします。

    説明

    Jenkins をデプロイするときにパスワードを指定しない場合は、次のコマンドを実行して、Jenkins によってランダムに生成されるデフォルトのパスワードを取得します。

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

(オプション) パイプラインタスクの作成

このセクションでは、first-pipeline パイプラインビルドを例として、パイプラインビルドを作成する方法を説明します。パイプラインビルドを作成すると、Jenkins は ACK クラスターでスレーブ Pod を動的に起動し、デフォルトでビルドを実行します。Jenkins がビルドの実行を完了すると、すぐにスレーブ Pod を解放します。Jenkins の設定の詳細については、「Jenkins」をご参照ください。

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

  2. [Enter An Item Name] セクションで、first-pipeline と入力し、[Pipeline] を選択して、[OK] をクリックします。

  3. ページの上部にある [Pipeline] タブをクリックし、[Hello World] テンプレートを選択して、[Save] をクリックします。

    pipeline

  4. 左側のナビゲーションウィンドウで、[Build Now] をクリックしてビルドを実行します。

  5. 左側のナビゲーションウィンドウで、[Build History] をクリックします。[1#] をクリックしてパイプラインの詳細ページに移動し、[Console Output] をクリックしてビルド結果を表示します。