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

vagrantでサーバーの状態を保存(snapshot)

上司がAnsible(構成管理ツール)のサンプルをくれたのですが、試そうにもまっさらなサーバーを用意しないといけません。 サーバー環境を新規に契約するのは面倒なのでvagrantで当然考えています。 …

no image

zabbixアラートメール

以前、zabbixの基本設定についてこのエントリーでかきました。 今回はzabbixでの何らかの障害が発生した時に、アラートメールを送信したい場合について Contents1 ユーザーの登録&ユーザー …

no image

ansible rolesなど

ansibleはある程度ファイルが肥大化してくると、管理するのが大変になります。 一般的にはプログラムのようにある程度のまとまりにわけてそれを読み込むということになります。 ある程度のまとまりのことを …

no image

gitの作業ディレクトリ・インデックス・HEADに関して

gitを使い始めてしばらくたちますが、まだ明確なイメージがつかめていないです(汗) みようみまねでやっていて、ポイント、ポイントで困ったことは検索してなんとか対応してきましたが、体系的な理解ができてい …

no image

メモリー不足でのスワップ割り当て

先日、あるサーバーでcomposerをinstallしようとしたところ、 The following exception is caused by a lack of memory or swap, …

アーカイブ