skillup

技術ブログ

Git サーバー・ネットワーク

GitLabのWebhook

投稿日:

前回の記事でGitLabのCI/CDを特集しましたが、実は今回やりたかったのはそこまで大掛かりなCIではなく、プッシュ時にオートマージ、オートデプロイなどでしたので、もっと簡単な仕組みでできます。

例えば特定ブランチ(全てでも可能)プッシュ時に特定のURLを叩き何らかの処理を行う(マージ、デプロイ、メール通知)などですね。

このような仕組みをWebhookといいます。(一般的なWebサービスによくある仕組みだと思います。)

GitLabでは下記の画面から簡単に設定できます。権限によっては見えないかもしれません。


メニューのSettings→Webhooksを選択します。

上記画面の「URL」には叩くとオートマージ、オートデプロイを実行できるURLを選びます。

「SecretToken」は未設定でもいけますが、不正アクセス防止のためにハッシュ値などをセットしておき、このハッシュ値と称号して、OKであればスクリプトを実行するなどすればOKです。

Triggerで「Push events」にチェックを入れておけばOKです。ブランチ名を入れておくとそのケースでのみ、実行されます。

上記で必要な項目に入力をして、「Add Webhook」を押せば登録されます。

この後、

  1. 特定のブランチにプッシュ
  2. プッシュをトリガーにして、別サーバーのあるURLを叩く
  3. そのURLにオートマージ、オートデプロイなどのスクリプトを実行

などができます。

参考リンク

GitlabのWebhookを使って簡易デプロイ(Webサーバへ)をしてみた

GitLabからwebhook+PHPで超簡易自動デプロイシステムを作る

-Git, サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

正規表現その2

10/28に書いた正規表現に関しての追記です。 Contents1 覚えておきたいメタ文字2 留意点 覚えておきたいメタ文字 よく出るメタ文字の復習です。 メタ文字 メタ文字の説明 [] いずれかの1 …

no image

SSH鍵認証について+CakePHP2でのセッション切れ

鍵認証の設定をしたのでその際のメモなどを。 Contents1 SSH鍵認証2 CakePHP2セッション切れ SSH鍵認証 サーバーで公開鍵・秘密鍵を作成 サーバーで公開鍵を登録 クライアント側で秘 …

no image

nginxのSSL通信や認証、ログに関して

今回はnginxでSSL通信をする際の注意点など。といっても、それほど難しくないようでSSL通信をするには主に2つだけです。 SSLを利用することを明示 サーバー証明書と秘密鍵を指示する またngin …

no image

MacでのVirtualHost設定

MacでのVirtualHostについて。 Contents1 設定方法2 注意点2.1 httpd -S2.2 httpd: Could not reliably determine the ser …

no image

サーバーレスやPassについての所感など

firebaseについてここ数日ちょこちょこ触りました。一昔前はwebアプリというと、ほとんどがCentOSにapacheとMySQLを入れて・・・というパターンが大部分でしたが、2020年6月現在、 …