Jenkins を ACK Serverless クラスター にデプロイし、簡単な例を使用してアプリケーションをビルドおよびデプロイします。
前提条件
-
ACK Serverless クラスター を作成済みであること。詳細については、「ACK Serverless クラスターの作成」をご参照ください。
-
kubectl を使用して Kubernetes クラスターに接続済みであること。詳細については、「kubectl を使用した Kubernetes クラスターへの接続」をご参照ください。
注意事項
Jenkins システムのメンテナンスはお客様の責任となります。Jenkins に対するエンタープライズレベルのテクニカルサポートは提供されません。
ステップ1:Jenkins のデプロイ
-
次のコマンドを実行して、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!⎈説明Helm リポジトリは 中国本土 外にあります。中国本土の ACK Serverless クラスターからリポジトリを更新する場合、処理に時間がかかることがあります。
-
Jenkins をインストールします。
-
次のコマンドを実行して、
cicd名前空間を作成します。kubectl create ns cicd -
共有 NAS ストレージボリュームを作成します。
Jenkins のホームディレクトリに永続ボリュームがない場合、コントローラー Pod が再起動すると、すべての設定が失われます。
-
Container Storage Interface (CSI) プラグインを使用している場合は、「静的にプロビジョニングされた NAS ボリュームの使用」をご参照ください。
-
FlexVolume プラグインを使用している場合は、「静的にプロビジョニングされた NAS ボリュームの使用」をご参照ください。
-
-
次のコマンドを実行して、Jenkins を
cicd名前空間にデプロイします。helm -n cicd install jenkins jenkins/jenkins \ --set persistence.existingClaim=pvc-nas \ --set controller.serviceType="LoadBalancer" \ --set controller.adminPassword="admin"-
[persistence.existingClaim=pvc-nas]:必須。PersistentVolumeClaim (PVC) の名前です。この例では、PVC は pvc-nas という名前で、
cicd名前空間に作成されます。 -
[controller.serviceType="LoadBalancer"]:任意。デフォルトのサービスタイプは ClusterIP です。
-
[controller.adminPassword="admin"]:任意。このパラメーターを設定しない場合、ランダムなパスワードが自動的に生成されます。パスワードを取得するには、「Jenkins へのアクセスとデフォルトパスワードの取得」をご参照ください。
デプロイパラメーターの詳細については、「helm-charts」をご参照ください。
-
-
次のコマンドを実行して、Jenkins Pod のステータスを確認します。Pod が Running 状態になるまで待ちます。
kubectl -n cicd get po予想される出力:
NAME READY STATUS RESTARTS AGE jenkins-0 2/2 Running 0 3m3s
-
-
Web ブラウザーで Jenkins サービスにアクセスし、ユーザー名とパスワードでログインします。
詳細については、「Jenkins へのアクセスとデフォルトパスワードの取得」をご参照ください。
ステップ2:パイプラインタスクの作成
first-pipeline という名前のパイプラインタスクを作成します。パイプラインを実行すると、Jenkins は ACK Serverless クラスターで動的な slave Pod を自動的に起動し、ビルドジョブを実行します。ジョブが完了すると、slave Pod はすぐに解放されます。Jenkins の設定の詳細については、公式の「Jenkins ドキュメント」をご参照ください。
-
Jenkins にログインします。ナビゲーションペインで、 [New Item] をクリックします。
-
[Enter an item name] フィールドに first-pipeline と入力し、アイテムタイプとして [Pipeline] を選択してから、 [OK] をクリックします。
-
[Pipeline] タブをクリックし、 [Hello World] テンプレートを選択してから、 [Save] をクリックします。
-
ナビゲーションペインで [Build Now] をクリックしてビルドを開始します。
-
ナビゲーションペインの [Build History] セクションで、 [#1] などのビルド番号をクリックして、ビルドの詳細ページを開きます。次に、 [Console Output] をクリックしてビルド出力を表示します。
Jenkins へのアクセスとデフォルトパスワードの取得
-
デフォルトでは、Jenkins サービスは ClusterIP タイプを使用します。ロードバランサー経由でサービスを公開するには、次のコマンドを実行します。
kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}' -
デプロイ時にパスワードを指定しなかった場合は、次のコマンドを実行してデフォルトのランダムなパスワードを取得します。
kubectl -n cicd exec -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo