古臭いソース管理をするプロジェクトで、便利そうな事


GitHubでレビューをやる?
自動ビルド&リリース?

そんな物はない!

資産を管理するのはお前のPCのローカルだ!
だが安心しろSVNはあるぞ!
コミットして良いのは本番環境にリリースした物だけだがな!

ブランチ?そんな軟弱な物はない!
リリースは一発勝負!自分でコピーコマンド叩け!

開発始める前にSVNから資産取ってこいよ?
あ、だけどそれが最新かどうかは分からないから、リリース前に本番環境から既存ソース取ってきてマージしろよ?

リリース漏れや、デグレが起きたらお前のせいだからな!

そんなプロジェクトに配属されてしまった私が使っていた、妙なノウハウを展開します。

※環境情報

  1. ローカルPCはWindows
  2. IDEはEclipse
  3. 言語はPHP

本番環境から資産コピってくる編

さて、開発が終わったのでリリース資産の準備をしましょう。
まずは開発環境と同じフォルダ構成を作って、自分が更新したファイルだけ入れて置かなきゃな。
その後、本番環境資産と差分比較して、開発に使った資産より本番環境資産が新しくなってたらマージをしておこう。
ふぅ、ファイル更新数が多いし、階層も深いからフォルダ構成を手作業で作ってたらスペルミスや構成ミスも多そうだ。
本番環境からソース取ってくるのも全部は取ってこれないし、1個1個持ってくるのも無理な数だよ...

以下はそんな時のノウハウ

  1. Eclipseでファイルを開いている時にAlt + Enterを押してファイルプロパティを開く
  2. ¥マーク付きのパスをコピーして、「フォルダ作成くん」というフリーソフトを使ってフォルダをローカルに作っていく
  3. フォルダが出来たらそこに自分のソースをコピー
  4. Explorerで、作ったフォルダの最上位フォルダを開いて、Shift + 右クリック「コマンドプロンプトをここで開く」を実行
  5. コマンドプロンプトで「dir /S /B /A-D > [出力ファイル名].sh」を実行
  6. 今開いているフォルダに[出力ファイル名].shが出来るので、それをSakuraエディタ等の文字コード変更できるエディタで開く
  7. 名前を付けて保存 で改行コードを LF に変更する。文字コードは UTF-8 を指定。
  8. ファイルパスの "¥" を "/" に置換する
  9. 本番環境サーバのパス構造に合うように、余計にくっついているWindowsのパスを選択する
  10. 選択した文字列と、右の文字列を全体置換する  "cp -pr --parents "
  11. "\n" と右の文字列を全体置換する  " [コピー先ディレクトリ]/\n"
  12. ファイルを保存し、サーバーにアップロードして実行する(実行権限は付けてね)

すると、自分が手を入れたソースだけが、フォルダ構造ごとコピーできる。

これはリリース後のバックアップにもなる。

キモとなるのは「フォルダ作成くん」である。
手作業でフォルダを作ると、ほぼ100%ミスるので、ツールに任せるとよいと思う。

以上です。他にもっと良いやり方あるよって人教えて下さい。