孤独フリーランスでもスマートな検証環境を用意した話(導入のきっかけ編)

どうも、Lazy(@lazy_Engblog)です。

今回は珍しく技術系ネタ。

本ブログの環境ではないんですが、今度から自分作るサービスやお客さんのサイトについては、スマートな検証と本番環境を用意しようと思っていろいろ調べて環境を整えました。

これまでのデプロイはTransmit

今までは、デプロイ作業と言ってもFTPのクライアントアプリ「Transmit」を使って左から右へ、ヨイショヨイショとドラッグしてました。

有料ではあるんですが、個人的にMacのFTPアプリでは一番かと思っています。

https://panic.com/jp/transmit/

ただ、デプロイをやってる自分といったら

lazy
コレと、コレと、あとコレ上げて確認
あれ、なんか崩れてる
あ、style.css忘れてたわ。もう一回上げてっと
…うん!オッケー

こんな感じで編集したファイルを全部アップして確認してましたが、

lazy
あれ?デプロイしてる今のオレだいぶイケてなくない?

せっかく、フリーでやってるなら自分でイケてる環境を作りたい!
ということで、自分の制作物に対しての納品でTransmitを使うのをやめるようにしました(笑)

これまでのバージョン管理はDropbox

正直、保存するたびに履歴をとってくれるDropboxは非常に便利。

ボクの開発環境はmampなので、htdocsフォルダごとDropboxの中に作ってしまえば自動的に履歴作ってくれて最高じゃん!とか思ってやってました。

ただ、ショートカットで「上書き保存」を押すことが癖になっているボクにとっては履歴がたまりすぎちゃう。

「昨日の最新版」とかだったら見つけやすいんだけど、

lazy
あれ〜、20分くらい前に戻したいんだよなぁ
コレかなぁ(ダウンロードして確認)…違うわ、あ、コレだ(ダウンロードsh…)
あーコレだわ!やっと見つけた!

とかやってる姿、だいぶイケてなくない?

ということで、開発を行うフォルダはこのままDropboxを使い続けますが、自分なりに「きちんとしたタイミング」で履歴を残すことにしました。
(使ってないけど、最近追加されたSmart Syncっていう機能が良さげ。)

そもそも、「バージョン管理ってなんぞ?」っていう方はこのツイートの162話がすべてを表しています。

導入後の環境について

サーバー:xserver x10プラン(sshできれば何でもよいかと)

バージョン管理:Git(自動でDropbox)

使用アプリ:SourceTree

開発からデプロイ方法

  1. ローカルで開発してSourceTreeにてローカルリポジトリにコミット
  2. ある程度のタイミングで、xserverに入れたリモートリポジトリのmasterブランチにプッシュ(push)する
  3. masterブランチに対してプッシュされたものを自動的に、検証環境(stg.sample.com)へとプル(pull)する。
  4. 検証環境で確認して問題がなければ、本番環境へと手動でpullする。

といった流れ。

どう?スマートじゃない?

検証環境までは自動でやってくれて、本番環境へデプロイするときにはターミナル(いわゆる、黒い画面)からgit pullするという流れです。

マウスで簡単に使えます!っていうアプリを使わないのがいいですね。

脳内ガヤ
SourceTree使ってるじゃんか!?

って言われても

lazy
あ、そこは視認性を優先させてるので

と言えるので非の打ち所がありません。

意外と情報が少ないデプロイやバージョン管理について

導入実践編は次回に持ち越すとして。。。(笑)

基本的にボクは、一人でお客さんのサイトを作って納品までやっています。
(スタイルシートは専門外なので協力をお願いすることはありますが。)

なので、極論を言ってしまえば、個人のローカル環境と本番環境さえあれば開発→確認までの流れはできるので問題はないです。

ただ、以前こういう記事を書きました。

納品したお客さんから追加があった場合、「本番環境が止まりませんように!」と念を入れながらデプロイしている姿は非常にイケてないので、まずは、サブドメインで検証環境を挟んでいます。

ローカル環境 → 検証環境(stg.sample.com) → 本番環境(sample.com)

こんな感じ。
規模は、大きくないので検証環境はステージング環境は分けてません。

今回、導入にあたっていろいろ調べたのですがあまり記事にしている方は見かけませんでした。

技術系って「gitの使い方」とか「SourceTreeの使い方」とか単体で扱う記事は大量にあるのですが、それぞれを総合的に使うような記事ってあんまないんですよね。

文量長くなるからなのか、プロの方たちはそれどころじゃないのかな。。。

まとめ:スマート過ぎて自分の管轄はすべて合わせる方向に決定

自分は、モチベが上がらないときには音楽を聞くとかも有効ですが、脳内女子を召喚してその子に尊敬されるように仕事しています。

「いきのこれ!社畜ちゃん」の「社畜ちゃん」みたいな子がいいですね。

今回も、

脳内女子
Lazyさんの開発環境ってイケてないわぁ

って言われるより

lazy
検証環境?あぁもう、デプロイされてるよ?
lazy
Lazyさんの開発環境ってステキ!

っていう感じのが良いですよね?違いますか?

で、いずれはこのブログどころか、自分が管理しているものに関しては全部、同じように環境を揃えようかと思います。

時間はかかったけど、調べてよかったわぁ

ちなみに、アホみたいな脳内会話はラバーダッキングという、ちゃんとした手法です。(笑)
122話、123話をどうぞ

紹介

仕事で息抜きしたいときにサクッと読める4コマ。ブラック&ITの題材で同世界を経験した人はハマる傾向あり。

Amazon楽天

 

Gitの基礎知識と基本的な使い方までであれば、この一冊で十分。Githubとほぼ同等のBitbucketを利用するので書籍代のみ大まかな知識は揃います。

Amazon楽天