LoginSignup
3
3

More than 5 years have passed since last update.

GithubにPushしたら自動で更新させる

Last updated at Posted at 2018-09-30

環境

・Linux(CentOS release 7.4)
・Apache 2.4.6
・MySQL 5.7
・PHP 7.1

参考にする場所

How to Handle GitHub Webhooks Using Django
fullEnglishしかねーのかよ...しびれるなぁ

Cloneする

CentOS(/home/op/app02/public_html/)
$ cd /home/op/app02/public_html/
$ git clone https://github.com/duri0214/Visualstudio-Django.git
  Cloning into 'Visualstudio-Django'...
  remote: Counting objects: 110, done.
  remote: Compressing objects: 100% (6/6), done.
  remote: Total 110 (delta 0), reused 1 (delta 0), pack-reused 104
  Receiving objects: 100% (110/110), 399.25 KiB | 0 bytes/s, done.
  Resolving deltas: 100% (19/19), done.
  Checking connectivity... done.
$ ls
  Visualstudio-Django   #増えた

現時点のDiff

このリポジトリはローカルPCでいままでVPSに直で書いたものを再現しているもので、そこから接ぎ木した部分のDiff
https://github.com/duri0214/Visualstudio-Django/commit/10a0d9f6c70caf41f34ac2d1ebc255694981cbb0
image.png

ネームサーバーもapp02で設定

さくらのVPSの場合は、この設定ページにも書いてあるけど「データ送信」を押さないと「app02」が増えないので注意!
ネームサーバーを設定
image.png

GithubWebhook

いわば更新情報の送信先だ。
http://app02.henojiya.net/api/byGithubUpdate に送信される
image.png

Apacheの設定を変更して導線確保

バーチャルホストを増やします
このへん 見てね
下のソースを見ると、コメントアウトされてる「★」があるけど、わざと潰している(後述)

CentOS
$ su -
# vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
  ServerName app02.henojiya.net
  DocumentRoot "/home/op/app02/public_html/Visualstudio-Django/"
  #★ WSGIScriptAlias / /home/op/app02/public_html/Visualstudio-Django/pj/pj/wsgi.py
  <Directory /home/op/app02/public_html/Visualstudio-Django/pj/>
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
  Alias /static/ /home/op/app02/public_html/Visualstudio-Django/pj/app/static/
  <Directory /home/op/app02/public_html/Visualstudio-Django/pj/app/static>
    Require all granted
  </Directory>
</VirtualHost>
CentOS
# systemctl restart httpd

django apache 複数 プロジェクト

コメントアウトされてる「★」がある...と書いたが、これをコメント解除すると Internal Server Error が起きるんだよね。app01も影響を受けて Internal Server Error になる。wwwのほうは影響を受けなかったのは「Pythonがらみを使っていないから」と思われる。

ひとつひとつコメントアウトして「WSGIScriptAlias」が原因であると特定した。その後ググってわかったのが、どうやらWSGIScriptAlias が複数あるとプロセスがケンカするらしいってこと。

まだ調査中(誰か教えて!)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3