January 16, 2018 • ☕️ 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

サーバ環境の整備

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

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へ置くようにします

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

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

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

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

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

完了

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

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

では、また~


関連投稿

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

February 2, 2018

Blog part of ThunderMiracle.com