Jenkins

JenkinsとGitLabのCI/CD連携ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

GitLabのAPIアクセス設定

GitLabとJenkinsの連携にあたり、API認証用ユーザーを作成・トークンを発行する必要があります。このプロセスは、後続の自動化フローにおけるセキュリティ基盤となるため、慎重な手順が重要です。

管理者ユーザーの作成手順

GitLabプロジェクトに専用のAPIユーザーを作成することで、権限管理を細分化できます。以下のステップで操作します。

  1. GitLabダッシュボードを開き、「Admin Area」にアクセスする
  2. Users」タブから「New user」ボタンをクリックし、適切なユーザー名とメールアドレスを入力
  3. User roles」で「Maintainer」以上の権限を設定(必要に応じて最適化)

アクセストークンの発行方法

API通信に使用するトークンは、リポジトリの読み書きやWebhookイベントの取得に不可欠です。以下のように生成します。

  1. ユーザー設定画面(/profile)から「Access Tokens」タブを開く
  2. Name」欄に説明文を入力し、「Scope」で「api」と「read_repository」を選択
  3. トークンを生成後、CSVファイルなどで保存(1度だけ表示されるため注意

注意: トークンは機密情報扱いなので、Gitリポジトリや共有ドキュメントへの記載は避けてください。


JenkinsへのGitLabプラグイン導入

Jenkins側では、GitLabとの連携に「GitLab Plugin」などの拡張機能を有効化する必要があります。最新バージョンの確認と導入手順を以下に示します。

必要プラグインの確認と有効化

Jenkinsは標準でGitLab接続機能を持っていませんので、以下の手順でプラグインを追加します。

  1. Jenkins管理画面(http://<ホスト>:5000/pluginManager/)へアクセス
  2. Available」タブから「GitLab Plugin」と「GitLab Authentication」を検索し、「Install without restart」を選択

最新版の確認方法

プラグインのバージョンは、Jenkinsの公式リポジトリで最新情報を確認できます。以下が主なチェックポイントです。

項目 補足
GitLab Plugin 1.6.3 Jenkins v2.401以降対応(現在の推奨バージョン)
Jenkins CLI 4.7.3 ローカルでの管理に推奨

ヒント: 「Manage Plugins > Advanced」から「Check for Updates」をクリックし、自動更新も可能です。


Webhookによる自動ビルドトリガー設定

GitLab側でプッシュイベント発生時にJenkinsが自動的にビルドを開始する仕組みを構築します。手順に沿ってWebhookの設定を行います。

GitLabプロジェクト設定画面の操作

リポジトリにWebhookを登録することで、コード変更時にJenkinsが自動起動します。

  1. プロジェクト設定(/settings/integrations)を開き、「Webhooks」タブへアクセス
  2. Add webhook」ボタンから「URL」にJenkinsサーバーのWebhook URLを入力(後述)
  3. Push events」チェックボックスをONにして保存

Jenkinsサーバーとの接続確認

Jenkins側でGitLabプロジェクトを登録し、Webhookイベントを受け取れるように設定します。

  1. Jenkins管理画面の「Manage Jenkins > Configure System」を開く
  2. GitLab」セクションで「Add GitLab Server」を選択し、URLとアクセストークンを入力
  3. 検証用に「Test connection」ボタンクリック

確認ポイント: Webhook URLはJenkinsの/github-webhook/など、HTTPS経由で配信される必要があります。


セキュリティベストプラクティス

トークン管理とアクセス権限設定は、CI/CD環境のセキュリティを守る上で不可欠です。以下の実践例を参考にしましょう。

アクセストークンの保存方法

トークンはJenkinsのCredentials Storeに安全に保管します。

  • Jenkins管理画面 → 「Manage Jenkins > Manage Credentials
  • 新規で「Global credentials (unrestricted)」を選択し、トークンを入力

権限設定の最適化ガイド

GitLabとJenkins双方で最小権限原則を適用します。

  1. GitLabユーザーに必要なアクセス権(例: read_repository)のみ付与
  2. Jenkinsジョブの実行アカウントは「System User」を指定し、プロジェクト単位で分離

Jenkins PipelineでのGitLab連携例

Jenkins PipelineスクリプトにGitLabとの連携コードを記述することで、自動化フローが完成します。以下に基本的なスクリプト構文を示します。

GitLabからコード取得のサンプル


ビルド・テスト・デプロイの統合手順

以下のように、Pipelineスクリプトにステージを追加することで一括自動化が可能です。

  1. Build ステージでコードコンパイル(例: Mavenやnpmを使用)
  2. Test ステージでユニットテスト実行(JUnitやSeleniumなど)
  3. Deploy ステージでDockerイメージのビルド・クラスタへのプッシュ

ヒント: GitLab CI/CDパイプラインとの併用も可能。gitlab-ci.ymlとJenkins Pipelineを統合して運用することがあります。


まとめ

本記事では、JenkinsとGitLabの連携手順とセキュリティベストプラクティスについて、ステップバイステップで説明しました。導入時の注意点や具体的な設定方法を理解することで、効率的なCI/CD環境構築が可能になります。実際の運用には、プロジェクト規模に応じた最適化が必要です。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Jenkins