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 scheduler(cron的なもの)

herokuでアプリをデプロイしたあと定期的に走らせたいバッチなどがあるとき、cronを使うことを考えると思いますが、herokuではheroku Schedulerというアプリを使います。 hero …

no image

サーバー調査(主にログ調査に関して)

実務でサーバーなどの調子が悪いときに見るポイントなどをリストアップ。 基本はログの調査 プログラムも同じだと思いますが、基本的にはログを見ていくことになります。 見たほうが良いログなどは下記のもの C …

no image

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

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

no image

一般的なサーバー監視コマンド

一般的な監視コマンドをメモします。 Contents1 ネットワーク状況1.1 ping1.2 traceroute ネットワーク状況 ping ネットワークの通信が正常かどうかをみる最も一般的なコマ …

no image

VPSのCentOS上にVirtualBox+Vagrantをインストール

普段使っているPCにVirtualBox+Vagrantをいれることはあったんですが、VPS上のCentOSに仮想環境を入れたいとの要件があり、試してみました。 結論からすると結局できなかったんですが …

アーカイブ