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

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …

no image

Linuxコマンドでのテキスト整形 CSV系の処理など

以前、対テキストファイル系のLinuxコマンドの使い方を紹介しましたが、その関連エントリーを。 今回やるのはCSV系の処理ですね。 id name age 1  suzuki 35 2  tanaka …

no image

ログ抽出コマンド特集 その1 cat+grep+sort

先日、メモリ使用率の調査に関して記事をかいたのですが、今度はそのログの収集や抽出をおこなってみようかと思います。 やりたいこと yyyy/MM/dd-HH:mm:ss  メモリ使用率(少数2桁まで)  …

no image

ファイル一括検索 xargsを利用した置換

実務でよくあるファイル一括置換。 sedに関しては以前も触れましたが使用範囲は多いですね。

ちなみにオプションがすごく大事でxargs …

no image

負荷調査のセオリー

以前にも下記リンクで負荷調査について記事を書いたんですが、もう少し掘り下げてみようかと。 サーバーの過負荷の発見 理論編 サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマン …