レビュー環境をすぐに用意できる社内向けツールを作ったら好評だった

レビュー環境をすぐに用意できる社内向けツールを作ったら好評だった

Pokémon GOでようやくレベル20に到達しましたtanakaです。 昼休みはいつも経験値をゲットするため外に出るようにしてます。

今日は、社内向けのWebアプリを作ったら便利でよく使われるようになった話をします。

注意

内部でOSコマンドを多く呼び出す実装になっているので、ソース公開の予定はありません。

作ったWebアプリについて

以前から、社内向け、顧客向けのどちらでも実装したWebサイトをレビューして頂くための準備作業というのが発生してました。 いままではApacheのVirtualHostファイルを用意してHTTP認証のための設定を用意して…という作業依頼がサーバーサイドエンジニアに来ていました。 必要な作業ではあるものの定型的ですし、忙しいときに依頼があるといやだなぁ、みたいな問題意識がありました。

VirtualHost を毎回設定しなくても良くする

まずは毎回VirtualHost設定してるところを何とかしました。Apacheにはドキュメントルートの特定パスをサブドメインに置き換えて解釈してくれる VirtualDocumentRoot というのがあります。 以下のようにVirtualHost設定すると/var/www/preview_sites/test/htdocs に設置したファイル群が test.preview.example.com で閲覧できるようになります。

<VirtualHost *:443>
        ServerAlias         *.preview.example.com
        VirtualDocumentRoot /var/www/preview_sites/%1/htdocs

        SSLEngine on
        # SSL関係の設定は省略

        <Directory /var/www/preview_sites/*/htdocs>
                Options -Indexes Includes FollowSymLinks
                DirectoryIndex index.html index.php
                AllowOverride All
                Order Deny,Allow
        </Directory>
</VirtualHost>

gitリポジトリURLをコピペしたら、すぐにレビュー環境ができるWebアプリ

以下のようなフォームに5, 6個テキスト入力すると、上記のVirtualHost設定の場所にデプロイしてくれるツールです。

20160907tanaka-deploy01.png

見た目はデフォルトのBootstrapテーマです。

20160907tanaka-deploy02.png

デプロイ自体は、環境一覧のページから「デプロイ」ボタンを押します。 すると、http://test.preview.example.com/ (ツールで変更できるのはtestの部分だけ) で閲覧できるようになります。

リポジトリによっては500MBを超えるものもあるので、「デプロイしたファイルだけ削除」ができるようになっています。 CMSやフルスクラッチのWebアプリ案件だと、このツールではすぐ環境を用意するのは無理ですが、 静的ファイルのサイトだと十分な機能かと思います。

ツールを作って良かったこと

  • Bootstrap の使い方が少し分かった
  • ダイジェスト認証のことが少し分かった
  • 普段使わないgitコマンドに詳しくなった。 (git ls-remote, clean)
  • 欲しい機能のフィードバックをチームからもらえた
  • リポジトリへのコミット漏れ防止に役立った

苦労したこと

  • git clone, pull によるデプロイがうまくいかない問題がなかなか解決できず困った

まとめ

社内向けツールを作ると、効率改善できるかもしれませんし、フィードバックがすぐもらいやすいので楽しいですよ! でも今回のですと、出来あいのツールがあればそのほうが助かるので、あれば教えて欲しいです。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ