開発環境でJenkinsを実行する方法(MacOSの場合)

ローカルマシンでJenkinsをセットアップし、GitLabインスタンスから接続する方法をステップバイステップで説明します。GitLabはJenkinsのWebhookをトリガーし、JenkinsはAPIを使ってGitLabに接続します。両方のアプリケーションを同じマシン上で実行することで、お互いにアクセスできることを確認できます。

既存の Jenkins インテレーションの設定については、Jenkins CI service を読んでください。

Jenkinsのインストール

Jenkinsをインストールし、Homebrewを使ってサービスを開始します。

brew install jenkins
brew services start jenkins

GitLab の設定

GitLabはデフォルトではlocalhostやローカルネットワークへのリクエストを許可していません。ローカルマシンでJenkinsを実行する場合は、ローカルアクセスを有効にする必要があります。

  1. GitLabインスタンスに管理者としてログインします。
  2. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  3. Admin Areaを選択します。
  4. 左サイドバーで、「設定」 > 「ネットワーク」を選択します。
  5. Outbound requests]を展開し、以下のチェックボックスを選択します:

    • Webhookとインテグレーションからローカルネットワークへのリクエストを許可します。
    • システムフックからのローカルネットワークへのリクエストを許可します。

GitLab Webhook の詳細については、Webhooks and insecure internal web services をご覧ください。

JenkinsはGitLab APIを使うので、アクセストークンが必要です。

  1. GitLab インスタンスにサインインします。
  2. プロフィール画像を選択し、設定を選択します。
  3. アクセストークンを選択します。
  4. APIスコープを有効にして新しいアクセストークンを作成します。トークンの値に注意してください。

Jenkinsの設定

JenkinsでGitLab API接続を設定するには、Jenkinsサーバーの設定をお読みください。

Jenkinsプロジェクトの設定

ビルドを実行するJenkinsプロジェクトを設定するには、Jenkinsプロジェクトの設定をお読みください。

GitLab プロジェクトを設定します。

JenkinsとGitLabのインテグレーションを設定することができます:

  • Jenkins と GitLab のインテグレーションは、次のように設定します。
  • Webhookを使用します。

セットアップのテスト

リポジトリに変更を加え、MRを開きます。Jenkinsプロジェクトで新しいビルドがトリガーされ、MR上にパイプライン#NUMBERが通過したというウィジェットが表示されているはずです。また、Jenkinsビルドへのリンクも含まれているはずです。