アプリバージョンを設定する
4168 ワード
あなたがCapistranoを彼らのlaravelプロジェクトを展開するのを使う少数の人々のならば(我々は存在します!)この記事はうまくいけばあなたの役に立つでしょう.
あなたのアプリケーションのバージョン管理は、理由の数に最適ですし、生産環境でこの値へのアクセスを必要とするいくつかのユースケースがあります.
私の特定のケースでは、私は頻繁に更新を受信する大きなダッシュボードを維持し、フッターに表示されているバージョン番号を持つことは、迅速な視覚的な参照として役立ちます.
アプローチ
幸いにも、これは特に複雑な仕事ではありません.以下に必要なことを示します.
確実にする
タスクを追加する
タスクの追加
以下に使用するタスクコードを示します.
我々は仕事を定義している 値が受信されると、 この仕事は1 A以内にある The The まだ 最後に、次の例で実行するようにタスクを設定できます.
設定キャッシュのクリア
もちろん、リリースディレクトリ内の設定キャッシュをクリアする必要があります
あなたは既に何らかの方法でこれをしているでしょう私の好ましい方法は以下のようなタスクを使うことです.
ありがとう
私は、あなたがこれを読む時間があることに感謝します;うまくいけばそれは道に沿って誰かを助ける.
あなたのアプリケーションのバージョン管理は、理由の数に最適ですし、生産環境でこの値へのアクセスを必要とするいくつかのユースケースがあります.
私の特定のケースでは、私は頻繁に更新を受信する大きなダッシュボードを維持し、フッターに表示されているバージョン番号を持つことは、迅速な視覚的な参照として役立ちます.
アプローチ
幸いにも、これは特に複雑な仕事ではありません.以下に必要なことを示します.
確実にする
APP_VERSION
パラメータは.env
ファイルはsecrets
ディレクトリを作成します.タスクを追加する
deploy.rb
ユーザがバージョン文字列をプロンプトするファイルで、.env
リリースディレクトリ内のファイル.タスクの追加
以下に使用するタスクコードを示します.
task :set_version do
ask(:app_version, "")
on roles(:laravel) do
execute :sed, "-i 's/^APP_VERSION.*/APP_VERSION=#{fetch(:app_version)}/' #{release_path}/.env"
end
end
上のスニペットで何が起こっているかを打破しましょう.set_version
, 実行されると、アプリケーションのバージョン文字列をユーザーに要求します.app_version
設定変数.laravel
ファイルの名前空間on roles(:laravel)
ライン.execute
ディレクティブは1行のbashコマンドを使用しますsed
, のインライン編集を行うには.env
リリースパスのルートにあるファイル.sed
regexマッチを行うコマンドAPP_VERSION
を使って行全体を新しい値に置き換えます.sed
コマンドはfetch(:app_version)
, これは以前に格納された設定値です.namespace :deploy do
after :updated, "laravel:set_version"
end
設定キャッシュのクリア
もちろん、リリースディレクトリ内の設定キャッシュをクリアする必要があります
.env
ファイル.あなたは既に何らかの方法でこれをしているでしょう私の好ましい方法は以下のようなタスクを使うことです.
task :clear_config do
on roles(:laravel) do
within release_path do
execute :php, "artisan config:cache"
execute :php, "artisan view:cache"
execute :php, "artisan route:cache"
execute :php, "artisan cache:clear"
end
end
end
ただ、アプリケーションのバージョンタスクが実行された後に設定キャッシュをクリアしてください.ありがとう
私は、あなたがこれを読む時間があることに感謝します;うまくいけばそれは道に沿って誰かを助ける.
Reference
この問題について(アプリバージョンを設定する), 我々は、より多くの情報をここで見つけました https://dev.to/adam_crampton/capistrano-and-laravel-setting-the-app-version-328pテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol