問題タブ [envoyer.io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.htaccess - Envoyer.io、Laravel - /public の下のディレクトリの内容にアクセスしようとしています
アップデート
下に配置された PHP ファイル/storage/app/thirdpartydirectory
が実行されていないようで、代わりに Laravel NotFoundHttpException がスローされます。http://example.com/thirdpartydirectoryから簡単なテキスト ファイルや画像などにアクセスできます。
元の質問
コードの展開に Envoyer.io を使用して Laravel 5 サイトを構築しています。Envoyer の仕組みでは、新しいコードがサイトにプッシュされ、/releases
ディレクトリの 下に配置さ/current
れ、トップ レベルからシンボリック リンクされます (したがって、/current
常に最新のサブディレクトリを指し/releases
ます)。
問題は、自分のサイトの/public
ディレクトリに置いたものはすべて Envoyer の展開に含まれているため、新しいコードをプッシュするたびに複製されることです。サードパーティのアプリを使用しようとしていますが、そのアプリindex.php
やその他のファイル/ディレクトリを外部に直接公開する必要があります。アプリが最初に読み込まれると、インストール プロセスが開始され、追加の構成ファイルがさまざまなフォルダーにインストールされます。コードの次のバッチを展開する/public
と、サードパーティのアプリによって生成されたインストール ファイルとキャッシュ ファイルなしで再度プッシュされるため、インストール プロセスを何度も実行する必要があるというループが発生します。
これについて Taylor Otwell に連絡したところ、彼の提案は、アプリを配置し、/storage/app/thirdpartyapp
各リリースのpublic
ディレクトリからシンボリック リンクを作成してから、新しい展開をそれぞれアクティブにすることでした。
これにより問題なくシンボリック リンクが作成されますが、アプリ ( http://example.com/thirdpartyapp ) にアクセスしようとすると、Laravel NotFoundHttpException ページでスタックします。アプリには index.php があります。 http://example.com/thirdpartyapp/index.phpにアクセスすると、代わりに Laravel サイトのインデックス ページが読み込まれます。まるでシンボリック リンクと/thirdpartyapp
URL を完全に無視しているかのようです。
アプリには次のものが同梱されています.htaccess
が、これらすべてに違いがあるかどうかはわかりません。
php - Way\Generators が Laravel Envoyer を壊している
Laravel 4.2 サイトを Forge から Forge/Envoyer に移行しようとしています。私はlaracastをフォローしていますが、エラーが発生し続けます:
PHP 致命的なエラー: 157 行目の /home/forge/Site/envoyer/releases/20150511192402/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php にクラス 'Way\Generators\GeneratorsServiceProvider' が見つかりません
Envoyer デプロイメントの Install Composer Dependencies ステップで。
Way/Generators の行を両方から削除しcomposer.json
、ドキュメントconfig/app.php
に従って再インストールしました。Envoyer は Way/Generators を削除しても動作しますが、再度追加すると失敗し続けます。
誰でもそれを修正する方法について何か考えがありますか?
laravel - Envoyer で composer install を実行する前にクリアコンパイル
Laravel Envoyer からデプロイする場合、composer install/update を実行する前にクリアコンパイルできないため、Envoyer はキャッシュからパッケージをロードしているようです。
これは明らかに、リリース フォルダーに ssh して次のコマンドを実行することで手動で修正できます。
これはほとんどの場合問題です。アップグレード中にこれに遭遇しました: pda/pheanstalk
envoyer は以前のバージョンをキャッシュからロードし続けるため、機能しません。
現時点で私の一時的な修正は実行することです:
展開フックですが、以前と同じように、リリースフォルダーにコンパイル済みファイルがないため、これは envoyer の最初の composer-install フックの後にのみ実行できます。
今のところこれで問題ありませんが、デプロイ タスクで composer install/update が 2 回実行されているため、不要なオーバーヘッドが発生しています。
これを行う方法についてより良い方法はありますか?
laravel - Forge のデプロイで .env ファイルがクリアされる
わかりました、私はこれがまだ完全に理解されているかどうか確信が持てません。
どこを見ても、レポに .env ファイルを含めないように誰もが言っています。意味あり。私が理解していないのは、展開されたサイトに .env を追加する方法です。
私はlaravelアプリを構築していて、フォージでデプロイしようとしています。これで十分に機能し、Forge インターフェイスを介して .env を編集します。別のデプロイが行われるたびに .env ファイルが消去されることを除いて、これは実際にはより良いアプローチのようです。これを行うためのより良い方法はありますか、それとも確認する必要がある設定はありますか?
laravel - Laravel Envoyer - テスト
Laravel アプリケーションが少し大きくなったので (1 つのアプリケーション サーバー、2 つのキュー ワーカー サーバー、1 つのログ サーバーなど)、Laravel Envoyer にサインアップしました。
ローカルでは、Laravel のhomestead
環境で開発を行っています。
ステージング サーバーのセットとプロダクション サーバーのセットを用意する予定です。
アイデアは、(特定の環境内の) すべてのサーバーに一度にプッシュできるようにしたいということです。少なくとも、各ボックスでいくつかの重要な環境テストを実行します。これは、特定の .env 変数が存在し、正しく設定されていることを確認する必要があるためです。
ただし、私が読んだところによると、テストは通常、ライブサーバーでは実行されないようです。実際、Envoyer はデフォルトで を行いますが、これは完全composer install --no-dev
に除外されます。phpunit
これで、私phpunit
のrequire-dev
セクションからcomposer.json
メインの依存関係リストに移動できますが、この種のマルチサーバー展開でより良いアプローチや推奨される方法がないことを確認したかっただけですか?
laravel-5 - Envoyer を使用してデプロイするときの composer の問題
envoyer を使用してlaravelアプリをデプロイするのに問題があります.composerの依存関係をインストールする際のエラーaccuerです。
オートロード ファイルの生成
Illuminate\Foundation\ComposerScripts::postInstall php artisan 最適化
[RuntimeException]
サポートされている暗号化ツールが見つかりません。暗号および/またはキーの長さが無効です。
初めてで、たくさんのエラーがあり、それらを修正する方法がよくわかりません。助けていただければ幸いです。
git - Laravel / Envoyer.io の展開 - MetadataBag が見つかりません
Envoyer.io デプロイメントで新しい laravel アプリケーションをセットアップしました。しかし、Envoyer を使用して GIT からサーバーにファイルをデプロイすると、次のエラーが発生し続けます。
いくつかの方法で構成なしで再インストールを試みましたが、それらは常にローカルで機能します。Envoyer でデプロイする場合にのみ、このエラーが発生します。
ファイルを適切なフォルダーに手動でアップロードしようとしたところ、サイトは完全に正常に機能しました。したがって、Envoyer が「アップロード」を行う場合のみです。
誰がこれを引き起こしているのか知っていますか?
WHM/Cpanel を備えた専用 Linux サーバーを実行していましたが、サーバー上の他の Cpanel アカウントで Envoyer を介して正常に実行されている他の 2 つの laravel アプリケーションが既にあります。