2018年1月16日 • ☕️ 4 min read

そもそもWebhookは何でしょうか

Wikiによりますと。

Webhooks are user-defined HTTP callbacks. They are usually triggered by some event, such as pushing code to a repository or a comment being posted to a blog.

ユーザー定義したhttpのcallbacksとなります。特定なイベントでキックされる。例えば:リポジトリにプッシュされること、ブログにコメントが投稿されること。

サンプルとして下記の環境にステップバイステップで自動デプロイを実現する予定です。

対象環境

レポジトリとwebhook側(githubとgitbucketはほとんど同じ)

  1. Git: gitlab.com

サーバ側(Conoha)

  1. OS: CentOS7.4
  2. WebServer: Apache2.4
  3. Language: PHP7.1

サーバ環境の整備

サーバにパッケージのインストール

Copy
echo "必要なパッケージをインストール[git, httpd, php7.1]"
sudo yum install git httpd -y
yes yes | sudo yum install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yes yes | sudo yum install --enablerepo=remi-php71 php -y

仮にwebhookの受信用のプロジェクトを/var/www/gitlab-webhookへ置くようにします

Copy
echo "フォルダの作成"
sudo mkdir /var/www/gitlab-webhook
echo "Apacheの設定"
sudo vim /etc/httpd/conf.d/gitlab.conf

gitlab.confに下記の内容を追加

Copy
alias /gitlab/ /var/www/gitlab-webhook/
<Directory /var/www/gitlab-webhook/>
  AllowOverride all
  Require all granted
</Directory>

テストファイルの作成して、テスト用のスクリプトの追加

Copy
sudo vim /var/www/gitlab-webhook/gitlab.php
Copy
<?php
  echo "Ok";
?>

完了

ブラウザで「http://サーバIPアドレス/gitlab/gitlab.php」 にアクセスし、Okが表示されたら環境構築は完了。

LAMPと同じなので、簡単でしょう。

では、また。


関連投稿

Webhookで自動デプロイ–ステップ2

2018年2月2日

ThunderMiracle

Blog part of ThunderMiracle.com