この記事では、GitLab に push した際に Jenkins で自動的にビルドが実行されるまでの基本手順を説明します。バックエンドは Gradle、フロントエンドは Node を想定しています。
pipeline {
agent any
stages {
stage('Checkout') { steps { checkout scm } }
stage('Backend: Gradle Build') { steps { dir('backend') { sh './gradlew clean build' } } }
stage('Frontend: Build') { steps { dir('frontend') { sh 'npm ci'
sh 'npm run build' } } }
stage('Archive') { steps { archiveArtifacts artifacts: 'backend/build/libs/**/*.jar, frontend/build/**', fingerprint: true } }
}
}
はじめに
この記事では、GitLab のリポジトリに push した際に Jenkins で自動的にビルドが実行されるまでの基本手順を説明します。バックエンドは Gradle、フロントエンドは Node を想定しています。
前提条件
Jenkins(LTS 推奨)が外部からアクセス可能であること。Jenkins に管理者権限でログインできること。対象の GitLab リポジトリに push する権限があること。
サンプル Jenkinsfile(Declarative)
pipeline {
agent any
environment {
// NODE_VERSION = '16'
}
stages {
stage('Checkout') { steps { checkout scm } }
stage('Backend: Gradle Build') { steps { dir('backend') { sh './gradlew clean build' } } }
stage('Frontend: Install & Build') { steps { dir('frontend') { sh 'npm ci'
sh 'npm run build' } } }
stage('Archive Artifacts') { steps { archiveArtifacts artifacts: 'backend/build/libs/**/*.jar, frontend/build/**', fingerprint: true } }
}
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
}
}
GitLab 側の Webhook 設定(Webhook を使う場合)
1. GitLab のプロジェクト設定 → Settings > Webhooks を開く。2. URL に Jenkins の受け口を指定(例: https://jenkins.example.com/generic-webhook-trigger/invoke)。3. Secret Token を設定し、Jenkins 側でも同じトークンを検証する設定をする。4. Push events にチェックを入れて保存。
Multibranch Pipeline の作成(Jenkins 側)
1. Jenkins ダッシュボード → 新規ジョブ → Multibranch Pipeline を選択。2. ソースで GitLab または Git を選び、リポジトリ URL と認証情報を設定。3. スキャンを行い、ブランチごとに Jenkinsfile が検出されれば自動でジョブが作成されます。
テスト手順
よくあるトラブルと対処
・Jenkins が GitLab に接続できない:認証情報と URL を確認。・Webhook が届かない:GitLab の Webhook 履歴でレスポンスを確認。・依存ツールのバージョン差異:Docker でビルドを固定すると安定します。
まとめ: Jenkinsfile をリポジトリに置き、Jenkins と GitLab の連携を正しく設定すれば、push をトリガーに自動ビルド/アーカイブ/デプロイのワークフローが動作します。必要に応じてデプロイ手順や通知(Slack, Email)を追加して下さい。








