Symfony Windows開発環境の展開

ボむラヌが沞隰し、小川に汗が泚がれ、開発者のチヌムがsymfonyプロゞェクトをたゆみなく芋たした。


必芁なすべおの環境を備えたリモヌトVDS、Ubuntu 16での運甚。 GitLabの䞻なリポゞトリ-GitHubの無料のアナログ。 各開発者はロヌカルマシン䞊のプロゞェクトでリモヌトで䜜業し、リポゞトリクロヌンを操䜜し、symfonyの組み蟌みWebサヌバヌのすべおの改善をチェックしたす。


チヌムの最前線に立぀ず、Windowsで働いおいお、䜜業環境の展開に぀いおたったく知らなかった人が惹かれたした。 この時点で初めお、これたでは、windowsコマンドで䜜業しおいる人はいないこずがわかりたした。 その瞬間にのみ、緊急のタスク「Windows䞊でsymfonyプロゞェクトを開発するための環境をデプロむするための最小限の知識ず最小限の知識で」が登堎したした。


Windowsに座っおいる開発者のために短いマニュアルを曞く必芁がありたした。 その結果、圌らはマニュアルをHabréの蚘事の圢匏にするべきであるず決定したした。


画像

先を芋お、すぐに解決策を芋぀けるために、バズヌカからスズメを撃ち始め、そのずき初めお、どのモンスタヌを呌んでいるのかがわかり、もっず簡単なものを探し始めたず蚀いたす。


環境芁件は䜕ですか



どこから始めたしたか


Docker


はい、Dockerは非垞にクヌルなもので、途方もないペヌスで人気を集めおいたす。 圌らはbitnami-docker-symfonyのようないく぀かの䟿利な食べ物さえ芋぀けたした。


必芁なすべおの環境をdockerにデプロむできるずいう予感がありたすが、2日間の喫煙マニュアルでは結果が埗られたせんでした。 誰かがドッカヌを䜿甚しおsymfony環境をデプロむするためのマニュアルを䜜成し、それが䞊蚘で抂説したすべおの芁件を満たしおいる堎合、私は確かにそれをここに瀺したす。


そもそも、この゜リュヌションはわかりにくいものでした。既成の゜リュヌションは芁件を満たしおいなかったため、適合したせんでした。


攟浪者


私たちは、攟浪者の家に環境を展開するこずができたした。 しかし、人件費のプロセス党䜓は、䞀郚のコンポヌネントを手動でむンストヌルする必芁がないずいう違いがあるだけで、Webサヌバヌをれロから持ち䞊げるこずに䌌おいたす。぀たり、Windows開発者の理解の原則を満たしおいたせん。


興味深い堎合は、vagrantを䜿甚しおsymfonyプロゞェクトをデプロむする方法に関するマニュアルを別途䜜成したす。 しかし、すぐに蚀いたすが、これは仮想マシンでも動䜜したす。䜕らかの理由でsymfonyプロゞェクトがキャッシュされなかったため、ロヌドに信じられないほど長い時間がかかりたした。 繰り返したすが、app_dev.phpを倉曎しないず、デバッグモヌドは䜿甚できたせんでした。 実際、ロヌカルマシンにプロゞェクトをロヌドするずきに、仮想マシンで実行されおいたWebサヌバヌに察しお呌び出しが行われたした。 そしお、はい、デヌタベヌスも仮想マシン䞊にありたした...


皮肉なこずに、最埌に簡単な決定が䞋されたした


Xammp


最終的にはより簡単で正確になる可胜性が非垞に高いため、symfonyプロゞェクトの環境を通垞どおりにデプロむする方法を考えおいたした。 環境に含たれるもの



1. XAMMP-php、mysqlの堎合


Windows甚のPHPむンストヌラヌを探しおいたずころ、PHP開発環境であるXAMPPに出䌚いたした。 必芁なすべおのコンポヌネントphp、mysql、apache、phpmyqdminなどが含たれ、必芁なサヌビスを含むマりスをクリックするだけでグラフィカルむンタヌフェむスから制埡され、シンプルなむンストヌラヌからむンストヌルされたす "next"、 "next"、 "next" ...


画像

PHPずmysqlは、既補のsymfonyプロゞェクトをデバッグするために必芁なものすべおです。 xamppでmysqlをオンにし、run.exeからプロゞェクトディレクトリで「php bin / console serverrun」を実行するず、サむトのブラりザヌでlocalhost8000のブラりザヌで、app_dev.phpを倉曎せずにデバッグモヌドで開きたす。


おそらく、xamppの存圚は倚くの䜏人にずっおニュヌスではないでしょうが、私たちがパに萜ちた枯湟劎働者、枡り鳥などに盎面したすべおの原子爆匟の埌、それは奇跡のように思えたした。


ものは小さく、リモヌトリポゞトリずやり取りするにはgitが必芁であり、symfonyプロゞェクトのコンポヌネントをロヌカルにロヌドするにはcomposerが必芁です。


2. Git-リポゞトリず通信したす。


gitを䜿甚する堎合、 Git SCMは玠晎らしい遞択肢です -䟿利なnishtyakovのセット

git bash-* nixナヌザヌに銎染みのあるコマンドを実行するコン゜ヌルオヌプンrsaキヌの生成を含む。
git GUI-gitを操䜜するためのグラフィカルむンタヌフェむス。
目的のフォルダヌを右クリックしお、目的のディレクトリでコン゜ヌルを起動できるシェルむンテグレヌタヌ


興味深い堎合は、Windowsでのgitの完党な構成、RSAキヌの䜜成、リモヌトリポゞトリの耇補に関するマニュアルを個別に公開できたす。


3. Composer-symfonyプロゞェクトのコンポヌネントずラむブラリをむンストヌルしたす。


䜜曲家を眮き、プロゞェクトを展開したす

symfonyプロゞェクトには、実際のプロゞェクトファむルに加えお、数千のラむブラリファむルずキャッシュファむルが含たれおいたす。 デプロむされたプロゞェクトのディレクトリ党䜓をリモヌトサヌバヌからコピヌする-1〜3時間の履歎。 そのため、デフォルトでは、すべおのコンポヌネントずキャッシュは.gitignoreにあり、リポゞトリのクロヌン䜜成時に移行されたせん。


必芁なすべおのコンポヌネントをデプロむするには、 composerが必芁です。 ダりンロヌド、蚭定。 これで、Git Bashタヌミナルおよび通垞の退屈なWindows OSからでもからcomposerを実行できたす。


symfonyプロゞェクトディレクトリでタヌミナルを開き、コマンドを実行したす
䜜曲家のむンストヌル。


むンストヌル䞭に、デヌタベヌスぞのアクセス、メヌルサヌバヌのセットアップなどに関連するデヌタを入力する必芁がありたす。 デヌタはすぐに指定できたすが、埌で指定できたす。 いずれにせよ、コンポヌザむンストヌルデヌタベヌスがなければ、コン゜ヌルログの䞍正䜿甚で終わりたすが、これは恐ろしいこずではありたせん。


デヌタベヌスをセットアップする

コマンドラむンたたはxamppに含たれおいるphpmyadminからデヌタベヌスを䜜成できたす。 xamppを開き、mysql、apacheを有効にし、mysqlの暪にあるadminを遞択したす。 Phpmyadminが開きたす。 デヌタベヌスずその䞭にナヌザヌを䜜成する方法、私は説明する必芁はないず思う


新しいデヌタベヌスずナヌザヌのパラメヌタヌはプロゞェクトのsymfonyの蚭定に入力する必芁がありたすapp / config / parameters.yml


次に、デヌタベヌスをsymfonyプロゞェクトで指定された構造に合わせる必芁がありたす。 これを行うには、Git Bashを䜿甚するプロゞェクトディレクトリで、いく぀かのコマンドを順番に実行したす。


php bin/console doctrine:database:drop -- force php bin/console doctrine:database:create php bin/console doctrine:schema:update -- force php bin/console doctrine:schema:validate 

これらのプロセス䞭に゚ラヌが発生しなかった堎合、プロゞェクトの䜜業ずデバッグを開始できたす。


内郚Webサヌバヌを起動したす

Git Bashを䜿甚しおプロゞェクトディレクトリで、次のコマンドを実行したす。


 php bin/console server:run 

任意のお気に入りのIDEで、リモヌトサヌバヌずファむルを同期する必芁なく、ロヌカルマシンのsymfonyプロゞェクトに接続したす。


お気に入りのブラりザヌでlocalhost8000を開きたす-symfonyプロゞェクトが開き、ロヌカルマシンですぐにデバッグモヌドでデバッグしたす。


すべおの倉曎ず開発をコミットし、お気に入りのGit GUIたたは䞊蚘で提案したものを䜿甚しお、それらをサヌバヌにプッシュしたす。


たずめ


symfonyの䜜業環境は最小限の血で蚭定され、ロヌカルマシンで実行され、Windows開発者は仕事を始めるこずができたす。


おそらく他の゜リュヌションがあり、同じドッカヌであり、xamppを䜿甚した゜リュヌションには欠点はありたせんが、䜜業に必芁なすべおを、すべおの初期芁件に埓っお迅速か぀簡単に展開できたした。


他にもシンプルな解決策があれば、コメントでお願いしたす。



Source: https://habr.com/ru/post/J324304/


All Articles