2016-05-11 2 views
1

私は以下のセットアップをしています:ローカルのデービッドマシンとLAMPセットアップ。今はgit(または特別なGitLab)を使って管理されるPHPプロジェクトで作業する必要があります。gitリポジトリから環境設定/更新を自動化する最良の方法は?

I(または他の開発者)の場合は、プロジェクトに参加し、私はいくつかの操作を行う必要があります考えて:

  • MySQLデータベースを作成してインポートするMySQLのスキーマ
  • アパッチ
  • のためのバーチャルホストを作成します。 ..

私が非アクティブな時間の後にプロジェクトを更新する場合、いくつかの考えを更新する必要があります:

01 MySQLのスキーマ内
  • 変更が
  • 挿入/更新/レコードの
  • を削除...

そして、これはすべての単一の開発者によって行われる必要があります。今私はこのワークフローを自動化するソリューションを探します。かつてApache Antと考えていましたが、このツールでは解決策が生まれると思います。

Antファイルでは、データベース、仮想ホストなどのワークフローを作成できます。追加私は、MySQLの移行を管理するためのツールが必要です(おそらくPhinx?)。このツールはAntでも起動できますので、チェックアウトプロセスの後にMySQLアップデートを自動化することができます。

しかし、この完全なアイデアは自分で作成されています。私はそのような種類のプロセスに関する経験はありません。継続的な統合、継続的な配達、さまざまなツールについて多くの話題や側面を見つけたので、経験がないとこのトピックを検索するのは非常に難しいので、自分のニーズに合ったものを切り離すことはできません。

残念ながら、私の場合には正しい/最良の方法を見つけるために助けと助言が必要です。

PS:文法上の間違いがありましたら申し訳ありません。英語は母国語ではありません。

答えて

0

ローカル開発環境を管理し、最近普及している方法の1つは、VMまたはコンテナを使用して仮想化を使用しています。 VagrantおよびDockerは、最も一般的なソリューションの2つです。通常、AnsibleまたはChefのようなプロビジョニングツールが付属しています。開発環境のイメージ(または複数のイメージ)を実際の状態に維持する必要があるという考え方です。 Newcommersは同じツールをインストールし、環境をブートストラップする必要があります。 Digtheinternet~findmore

この方法でDBをコンテナ化してバージョンを変更すると、移行ツールはまったく必要ありません(うまくいけば):あなたが選んだツールが設計によってバージョンを処理します。しかし、あなたはまだLiquibaseまたはFlyWayのようなPhinxまたは他のソリューションを自由に使用することができます。この場合の移行は、メインコードのベースの隣に、Gitでバージョン管理することができます。

関連する問題