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

wordpressでのnginx設定

ここ1年、apacheではなく、nginxでサービスを作ることが多いため、設定にだいぶ慣れてきました。 今回はwordpressの設定です。 バーチャルホストでsample.comとアクセスをするとw …

no image

ネットワークコマンドについて(ping,nslookup,host,digなど)

前回のDNSの時にレコードタイプについて調べましたが、以前からあやふやだったネットワーク系のコメントについても調べてみようかと思います。 参考リンク 名前解決・疎通確認する際の基本的なLinuxコマン …

no image

SELinuxによるファイル制限+MySQLアクセスエラー

新サーバーにApacheをいれて特定のファイルにアクセスしようとしたところ、 以下のようなエラーがでてしまいました。

ただPermis …

no image

OSI参照モデル イーサネットとMACアドレス

OSI参照モデルのレイヤー1とレイヤー2で必要不可欠な規格がイーサネットです。 有線ネットワークであればほぼこの規格を採用していると思って間違いないでしょう。 MACアドレスでコンピューターを識別する …

no image

herokuネタ(頻出コマンドなど)

10月末ぐらいから使っているPaasのherokuについてよく使うコマンドについて Contents1 アカウント開設&スタート2 基本的な使い方 アカウント開設&スタート http://skill- …