-1

皆様、こんにちは。

私は現在Laravelでプロジェクトを開発しています。これまでのところ、私は常にオンラインで開発を行っており、FTP を介して Web サーバー上のファイルを直接編集していました (PSPad または同様の簡単な編集ツールを使用)。

私が今やりたいこと (そして、ほとんどの人が実際にやっていると信じていること) は、ローカル マシンに (W)LAMP スタックをセットアップし、ローカルでプログラムすることです。ただし、ローカル コード (データベースを含む) をライブ Web サイトと同期させる方法が少しわかりません。皆さんはどうやってそれをしますか?そのための方法やツールはおそらくたくさんあると思いますが、ベスト プラクティスについてのアドバイスはありますか? どんなアドバイスでも大歓迎です:)

4

3 に答える 3

2

多くの企業が行っているのは、オフラインでビルドしてから、を使用して編集内容をサーバーにプッシュすることgitです。

私はソフトウェアの専門家ではないので、あなたが何をしているのかを基本的な形で説明していません。

私のアドバイスは、編集/更新中にプロジェクトを保存するためのオンラインリポジトリ(リポジトリ)を作成することです。

またはなどのいくつかのgitプロジェクト管理システムがあります。私は個人的に使用しますgithubbitbucketbitbucket

gitローカル(w)ランプでオフラインで必要なものを構築または追加したら、それらgit pushをリポジトリまたはサーバーに追加します。変更されたファイルは、リポジトリまたはサーバー上の既存のファイルとマージされます。プロジェクトの最新バージョンが必要な場合は、単にgit pullそれらを削除します。

ここで完全なドキュメントを読んで、使用時に利用できる幅広いオプションを確認してくださいgit

于 2013-03-22T11:17:49.747 に答える
1

これを行うにはいくつかの方法があります。しかし、これはあなたが尋ねた一見巨大な質問です。ここにいくつかの良い実践のアドバイスがあります-これらの項目を調べて、私のアプローチを見てください。

通常、システムの「バージョン」またはスナップショットを作成できるバージョン管理と呼ばれる歳差運動を使用します。一般的に使用されている「SVN」ソフトウェアは優れていますが、ブロックの新しい(実際にはもうない)子供はGITであり、私は個人的にそれをお勧めします。

このシステムを使用して、制御された方法でコードベースをライブにプッシュできます。ファイル/アップロード機能は基本的にFTPに似ていますが、サイトの特定のバージョンをライブでダンプできます。

複数の開発者がいる環境では、これが理想的です。相互に比較/テストして回避でき、バージョン管理は開発者間のエラーを阻止する傾向があります。

つまり、アドバイスパート1:バージョン管理を調べて理解し、それを使用してCODEをライブ環境にリリースします。

パート2:データベースダンプを使用して、それらを自分のマシンに戻し、作業します。ライブデータベースを更新する必要がある場合は、ローカルで作業してエクスポートし、ライブシステムに再インポートすることができます。

例:私が取り組んだ最近のMoodleプロジェクトでは、データベース全体を更新するのに数秒かかりました...パッチとデータベースの更新を数分でプッシュできました。ただし、メンテナンスとスケジュールについて考える必要があります...サイトが稼働していて、継続的なデータ変更がある場合は、これに注意する必要があります。メンテナンスページを追加することを検討してください。

アドバイス2:SQLのダンプ/エクスポートとインポートを調べてください。

非常に便利なので、私は個人的にphpmyadminを使用してダンプと再インポートを行っています。

アドバイス3:ローカルで作業してからライブでプッシュすることは、はるかに優れた実践です。あなたは今よりもはるかに安全でより良い道を歩み始めています!

それがお役に立てば幸いです...しかし、覚えておいてください-これは大きなテーマなので、かなり調査する必要があります。

于 2013-03-22T11:18:03.730 に答える
1

プラットフォーム内に $res::Config として利用可能な設定配列があります。

実行時に、明らかに IP アドレスに応じて、HTTP ホストをチェックした後、変数が「dev」から「live」に変更されます。

フレームワークのブートストラップ内で、$res::Config->$env の値、または以前に dev または live として設定された環境に応じて、データベース接続の設定が設定されます。これらの設定を Config 配列に db_live または db_dev として保存します。

ただし、環境変数を使用して、ライブまたは開発のどちらが必要かを判断し、それに応じて設定と配列を設定します。

また、断続的な開発段階のためのサンドボックスとステージングもあります。

バージョン管理に関しては、git または subversion を使用します。

編集: vhostファイル内で、環境変数を live または dev としてセットアップし、アプリケーションがそれに応じてこれから読み取ることも可能です。私はこのアプローチをお勧めします:)

于 2013-03-22T11:13:52.303 に答える