質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Git

    1270questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

gitを利用したWebアプリケーションの開発方法について

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 224

ms90

score 30

前提

  • マシン
    PC_A: Windows
    VIRTUAL_A: PC_A内のVirtualBoxで構築されたCentOS
    PC_B: Windows
    VIRTUAL_B: PC_B内のVirtualBoxで構築されたCentOS
    REPOSITORY_SERVER: gitのリポジトリを管理する、PC_A、B、VIRTUAL_A、Bからネットワークアクセス可能。

各VIRTUALにはapacheやmysqlなどがインストールされており開発対象のWebアプリケーションの動作ができます。

考えている開発ルール

  1. 開発者はREPOSITORY_SERVERからcloneで作業コピーをPC上に作成し、編集する。

  2. その後プログラムの動作を確認するため編集したファイルをVIRTUAL上にアップロードする。

  3. 動作確認後、commitしpushする。

困っていること

2がどうも賢いやり方でないような気がしてなりません。
当初は1の時点で「開発者各々のブランチをpushしVIRTUAL上でpullする。動作確認できた時点でそのブランチをmasterにマージしpushする」のようなことも考えていたのですが、これだと細かい修正(変数の書き換えetc...)を確認したい度にコミットしていかなければ成り立たないのであきらめました。
何かよい方法や、参考になるWebサイト等あれば教えていただけないでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • miyabi-sun

    2018/01/10 20:46

    「VIRTUAL_B: PC_A内のVirtualBoxで構築されたCentOS」とありますが、これはPC_BのTYPOですか?

    キャンセル

  • ms90

    2018/01/10 21:42

    ご指摘の通りです。修正しました。ありがとうございます。

    キャンセル

  • miyabi-sun

    2018/01/10 21:45

    素早い修正対応ありがとうございます!

    キャンセル

回答 2

+3

VirtualBoxのディレクトリ共有機能やrsyncといった方法で仮想マシンからwindowsで編集しているファイルを参照できるようにするのは如何でしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/16 15:43

    回答ありがとうございます。
    rsyncを使って実現してみようと思います。VirtualBox自体にディレクトリの共有機能があることを始めて知りました...

    キャンセル

  • 2018/01/16 21:48

    設定としてはRsyncの方が若干大変ですが、副作用は少ないので良い選択肢だと思います。
    仮想化ソフトウェアには殆どの場合、ディレクトリ共有機能が存在していますので今後他の仮想化ソフトウェアを使う場合は選択肢に入れてみるのも良いと思います。

    キャンセル

  • 2018/01/16 22:14

    >仮想化ソフトウェアには殆どの場合、ディレクトリ共有機能が存在していますので今後他の仮想化ソフトウェアを使う場合は選択肢に入れてみるのも良いと思います。
    追加情報ありがとうございます。

    キャンセル

checkベストアンサー

+2

Windows + VirtualBoxですか…
なら最初はVirutalBoxに内包されているフォルダ共有機能を使い、
不満が出てきたらsambaを利用するのがオススメです。

後はおまけとして末尾でDockerの紹介をしますので、興味があれば調べてみてください。


VirtualBoxにはフォルダ共有機能が存在します。
ただし、パーミッションが常に固定になったり、
ゲストOSでファイルの変更通知を理解出来ずに
ApacheやNginXなどWebサーバが毎回キャッシュから返す不具合等も発生します。

rsyncという広く使われている2PC間のフォルダの同期ツールがありますが、
Windows環境にはデフォルトでは存在しません。
Cygwinなどを利用して導入する事は可能ですが、WindowsはLinux系とはパスの扱い等が異なるので落としてきても使えなかったりします。
従って新しくジョインした人がすぐ使える環境を構築するという点で不安が残ります。

他にはWindowsには共有フォルダという機能が存在し、
LinuxにはWindowsの共有フォルダと互換性をもたせたsambaという機能が存在します。
見ての通り動かすまでが面倒ですね、後はちょくちょくVirtualBox側がsambaを認識しなくなったりするので定期的にリロードさせてあげたりとプチ面倒だったりします。

…とまぁ、様々な選択肢はあるものの痛し痒しといったところです。

Vagrantという仮想開発環境構築ソフトウェアがありますが、何のことはないVirutalBoxのラッパーです。
実際にはプラグインを足せば様々な仮想環境ツールとセットで利用できますが、
OSSでありWindows、Mac、Linux共通で使えるVirtualBoxがデフォルトみたいな扱いになっています。
こちらのワードもセットで調べてみると比較検証が捗るかと思います。


Docker for Windows に移行するのも手です。
これの実体はHyper-Vを利用した軽量Linuxマシンで、いい感じにファイル共有してくれる機能があるので開発環境構築のパートナーとしてはかなり優れています。
私は1年程前からVagrantは封印してこちらのDockerにて開発環境を構築するようにしています。

学習コストが高く勉強が大変なのが辛い所でしょうか?
慣れない内は開発環境の構築に手間取りそうですが、
docker-compose.ymlを書く癖が付けばインフラをコードで表現する技術がつくのでオススメです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/16 15:42

    いろいろな手法の紹介ありがとうございます。
    >ApacheやNginXなどWebサーバが毎回キャッシュから返す不具合等も発生します。
    こちらの事象が怖いため、rsyncを使ってしばらく様子をみてみたいと思います。Dockerには興味が使えるようになるために勉強始めてみます!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Git

    1270questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。