【CI CD】CI CDツールチートシート(Jenkins) - j-komatsu/myCheatSheet GitHub Wiki
Jenkinsを使用して、継続的インテグレーション(CI)および継続的デリバリー(CD)のパイプラインを構築・管理するための基本的なコマンドや操作をまとめる。
- Jenkinsのインストールと設定
- ジョブの作成と管理
- パイプラインの設定
- Jenkins CLIの基本操作
- プラグインの管理
- 通知設定
- Jenkinsファイルの基本構文
- よく使われるパイプラインステップ
- トラブルシューティングとログ
-
インストール手順:
# パッケージの更新 sudo apt update # Jenkinsのインストール sudo apt install jenkins # サービスの開始 sudo systemctl start jenkins sudo systemctl enable jenkins
-
初期設定:
- Jenkinsにアクセス:
http://<your-server-ip>:8080
- 初期管理者パスワードの取得:
cat /var/lib/jenkins/secrets/initialAdminPassword
- プラグインのインストールと管理者ユーザーの作成。
- Jenkinsにアクセス:
-
新規ジョブの作成:
- Jenkinsのダッシュボードから「新規ジョブ作成」を選択。
- ジョブタイプ(フリースタイル、パイプラインなど)を選択。
-
ジョブのコピー:
cp /var/lib/jenkins/jobs/<既存ジョブ> /var/lib/jenkins/jobs/<新しいジョブ>
-
ジョブのビルド:
curl -X POST http://<your-server-ip>:8080/job/<job-name>/build --user <username>:<api-token>
-
パイプラインジョブの作成:
- 「新規ジョブ作成」で「パイプライン」を選択。
- Jenkinsfileを使用して構成を記述。
-
シンプルなパイプライン例:
pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } stage('Deploy') { steps { echo 'Deploying...' } } } }
-
CLIの使用:
- Jenkins CLI jarファイルのダウンロード。
wget http://<your-server-ip>:8080/jnlpJars/jenkins-cli.jar
- コマンド実行例:
java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ list-jobs
- Jenkins CLI jarファイルのダウンロード。
-
ジョブのビルド:
java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ build <job-name>
-
プラグインのインストール:
- Jenkins UIで「プラグインの管理」を選択。
- 必要なプラグインを検索してインストール。
-
CLIでプラグイン管理:
java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ install-plugin <plugin-name>
-
メール通知の設定:
- 「システム設定」でSMTPサーバーを構成。
- ジョブ設定で「ビルド後の処理」に「Eメール通知」を追加。
-
Slack通知の設定:
- Slack用プラグインをインストール。
- Slack Webhook URLを設定し、ジョブで通知を設定。
-
Declarative Pipeline:
pipeline { agent any stages { stage('Example') { steps { echo 'Hello, Jenkins!' } } } }
-
Scripted Pipeline:
node { stage('Example') { echo 'Hello, Jenkins!' } }
-
echo: メッセージの表示。
echo 'Hello, Jenkins!'
-
sh: シェルコマンドの実行。
sh 'ls -l'
-
checkout: ソースコードの取得。
checkout scm
-
archiveArtifacts: ビルド成果物のアーカイブ。
archiveArtifacts artifacts: 'target/*.jar'
-
Jenkinsログの確認:
cat /var/log/jenkins/jenkins.log
-
ジョブ実行ログの確認: Jenkins UIで「コンソール出力」を確認。
-
エラー発生時の再試行:
retry(3) { sh 'failing_command' }