【CI CD】CI CDツールチートシート(Jenkins) - j-komatsu/myCheatSheet GitHub Wiki

CI/CDツールチートシート(Jenkins)

目的

Jenkinsを使用して、継続的インテグレーション(CI)および継続的デリバリー(CD)のパイプラインを構築・管理するための基本的なコマンドや操作をまとめる。


インデックス

  1. Jenkinsのインストールと設定
  2. ジョブの作成と管理
  3. パイプラインの設定
  4. Jenkins CLIの基本操作
  5. プラグインの管理
  6. 通知設定
  7. Jenkinsファイルの基本構文
  8. よく使われるパイプラインステップ
  9. トラブルシューティングとログ

1. Jenkinsのインストールと設定

  • インストール手順:

    # パッケージの更新
    sudo apt update
    
    # Jenkinsのインストール
    sudo apt install jenkins
    
    # サービスの開始
    sudo systemctl start jenkins
    sudo systemctl enable jenkins
  • 初期設定:

    1. Jenkinsにアクセス: http://<your-server-ip>:8080
    2. 初期管理者パスワードの取得:
      cat /var/lib/jenkins/secrets/initialAdminPassword
    3. プラグインのインストールと管理者ユーザーの作成。

2. ジョブの作成と管理

  • 新規ジョブの作成:

    1. Jenkinsのダッシュボードから「新規ジョブ作成」を選択。
    2. ジョブタイプ(フリースタイル、パイプラインなど)を選択。
  • ジョブのコピー:

    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>

3. パイプラインの設定

  • パイプラインジョブの作成:

    1. 「新規ジョブ作成」で「パイプライン」を選択。
    2. Jenkinsfileを使用して構成を記述。
  • シンプルなパイプライン例:

    pipeline {
      agent any
      stages {
        stage('Build') {
          steps {
            echo 'Building...'
          }
        }
        stage('Test') {
          steps {
            echo 'Testing...'
          }
        }
        stage('Deploy') {
          steps {
            echo 'Deploying...'
          }
        }
      }
    }

4. Jenkins CLIの基本操作

  • CLIの使用:

    1. Jenkins CLI jarファイルのダウンロード。
      wget http://<your-server-ip>:8080/jnlpJars/jenkins-cli.jar
    2. コマンド実行例:
      java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ list-jobs
  • ジョブのビルド:

    java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ build <job-name>

5. プラグインの管理

  • プラグインのインストール:

    1. Jenkins UIで「プラグインの管理」を選択。
    2. 必要なプラグインを検索してインストール。
  • CLIでプラグイン管理:

    java -jar jenkins-cli.jar -s http://<your-server-ip>:8080/ install-plugin <plugin-name>

6. 通知設定

  • メール通知の設定:

    1. 「システム設定」でSMTPサーバーを構成。
    2. ジョブ設定で「ビルド後の処理」に「Eメール通知」を追加。
  • Slack通知の設定:

    1. Slack用プラグインをインストール。
    2. Slack Webhook URLを設定し、ジョブで通知を設定。

7. Jenkinsファイルの基本構文

  • Declarative Pipeline:

    pipeline {
      agent any
      stages {
        stage('Example') {
          steps {
            echo 'Hello, Jenkins!'
          }
        }
      }
    }
  • Scripted Pipeline:

    node {
      stage('Example') {
        echo 'Hello, Jenkins!'
      }
    }

8. よく使われるパイプラインステップ

  • echo: メッセージの表示。
    echo 'Hello, Jenkins!'
  • sh: シェルコマンドの実行。
    sh 'ls -l'
  • checkout: ソースコードの取得。
    checkout scm
  • archiveArtifacts: ビルド成果物のアーカイブ。
    archiveArtifacts artifacts: 'target/*.jar'

9. トラブルシューティングとログ

  • Jenkinsログの確認:

    cat /var/log/jenkins/jenkins.log
  • ジョブ実行ログの確認: Jenkins UIで「コンソール出力」を確認。

  • エラー発生時の再試行:

    retry(3) {
      sh 'failing_command'
    }

⚠️ **GitHub.com Fallback** ⚠️