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

:JenkinsをACKサーバーレスクラスターにデプロイし、アプリケーションを作成してデプロイする

最終更新日:Oct 30, 2024

このトピックでは、ACKサーバーレスクラスターにJenkinsをデプロイし、簡単なアプリケーションを作成してデプロイする方法について説明します。

前提条件

注意事項

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

ステップ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!⎈
    説明

    上記のリポジトリは、中国国外にデプロイされたHelmチャートリポジトリです。 したがって、中国本土にデプロイされたACKサーバーレスクラスターからリポジトリを設定すると、設定に時間がかかる場合があります。

  2. Jenkinsをインストールします。

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

      kubectl create ns cicd
    2. NASボリュームを作成します。

      Jenkinsホームディレクトリにデータを保存するNASボリュームを作成します。 そうしないと、Jenkinsマスターポッドの再起動後にすべてのJenkins設定が失われます。

    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) の名前に値を設定します。 この例では、PVCはpvc-nasという名前で、cicd名前空間に属します。 This parameter is required.

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

      • controller.adminPassword="admin": デフォルトのパスワードはランダムに生成されます。 このパラメーターはオプションです。 ランダムに生成されたデフォルトパスワードを取得する方法の詳細については、「ロードバランサーを使用してJenkins Serviceにアクセスし、ランダムに生成されたデフォルトパスワードを取得する」をご参照ください。

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

    4. 次のコマンドを実行してJenkinsポッドのステータスを照会し、Jenkinsポッドが正常に実行されるまで待ちます。

      kubectl -n cicd get po

      期待される出力:

      NAME        READY   STATUS    RESTARTS   AGE
      jenkins-0   2/2     Running   0          3m3s
  3. webブラウザを使用してJenkinsにアクセスし、ユーザー名とパスワードを入力します。

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

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

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

  2. [アイテム名の入力] セクションで、[first-pipeline] と入力し、[Pipeline] を選択し、[OK] をクリックします。

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

    pipeline

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

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

ロードバランサーを使用してJenkins Serviceにアクセスし、ランダムに生成されたデフォルトパスワードを取得する

  • Jenkinsサービスの既定のタイプはClusterIPです。 ロードバランサーを使用してJenkins Serviceを公開する場合は、次のコマンドを実行します。

    kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'
  • Jenkinsのデプロイ時にパスワードを指定しない場合は、次のコマンドを実行して、Jenkinsによってランダムに生成されたデフォルトのパスワードを取得します。

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