近年ではソフト開発の中で自動化というのが流行っています。
スムーズにビジネスを進めるために、開発と運用の垣根をなくそうと行われています。DevOpsと呼ばれています。
この技術が何かに使えないかなと考えたところ、静的サイト等はこうした技術を使うと運用が楽になることがわかりました。
静的サイトはHTML + CSSでできたサイトのことです。私はアップロード作業が毎回手間だなと思っていたのです。
具体的にはいろんなポイントがありますが、こうした内容の雑誌が1冊あるほどの分量になりますので、だいたいこんな所というのをお伝えします。
- ビルドの自動化
- テストの自動化
- デプロイの自動化
ビルドの自動化
ソフト開発のときにはコンパイルという作業が必要なプログラミング言語があります。コンパイルエラーが発生すると、プログラムの実行ファイルができないため、その先は何もできなくなってしまいます。
しかし、開発を進めていくうちにビルドを忘れてしまうと、エラーが発生したままになってしまいます。
これを避けるためにビルドの自動化を行います。
通常、リポジトリにプッシュしたタイミングで処理されます。
テストの自動化
ビルドの自動化に合わせてテストの自動化もあります。
開発をしていくとテストコードというものを書きます。これはプログラムが問題なく動くことを確かめるためのプログラムです。
リリースしてから新たな機能を追加する開発を始めると、過去のテストを実行するのは面倒なものです。
そこで、テストの自動化をすることで、過去の開発に影響を与えてしまうことを避け、安全に開発ができます。
デプロイの自動化
デプロイは本番環境へのアップロードを指します。
アップロードの作業も手作業で行うと、面倒ですし、ミスが発生してしまうこともあります。
そこで、デプロイを自動化させることで、手間なく安全に運用ができます。
静的サイトの場合は、プログラムではないので、ビルドという処理はありません。
また、テストの自動化もSelenium等で自動テストをしていなければありません。
長くなるので、細かいことは書けませんが、リポジトリ管理にGit(Bitbucket)を使用し、werckerとcapistranoを組み合わせることで、デプロイの自動化ができました。
ちなみに、これらは全て無料で提供されています。
最初にgitをインストールしたり、SSHの設定をしたりとちょっと専門的な環境設定が必要なので、あまり詳しくない方にはハードルが高いかもしれません。
しかし、一度設定すればとてつもなく楽になるので、ご希望であればパソコン家庭教師のときにでもお教えしたいなと思います。