<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                * * * * * [TOC] ## 簡介 [Laravel Envoy](https://github.com/laravel/envoy)?為定義遠程服務器的日常任務,提供了一套簡潔、輕量的語法。Blade 風格語法即可實現部署任務的配置、Artisan 命令的執行等。目前,Envoy 僅支持 Mac 和 Linux 操作系統。 ### 安裝 首先,運行 Composer 的?`global require`?命令進行全局安裝 Envoy: ~~~ composer global require laravel/envoy ~~~ Composer 的全局庫出現版本沖突時,不妨考慮使用`cgr`,它是?`composer global require`?命令的替代實現。`cgr`?庫的安裝信息可參閱?[GitHub](https://github.com/consolidation-org/cgr)。 > {note} 務必把?`~/.composer/vendor/bin`?目錄加入到 PATH 中,只有這樣,終端執行?`envoy`?時,才會找到?`envoy`?命令。 #### 更新 Envoy Composer 可以維持 Envoy 的最新版本。`composer global update`?命令將更新所有 Composer 的全局庫: ~~~ composer global update ~~~ ## 編寫任務 Envoy 任務都應在項目根目錄下的?`Envoy.blade.php`?中定義。 以下實例供你上手: ~~~ @servers(['web' => ['user@192.168.1.1']]) @task('foo', ['on' => 'web']) ls -la @endtask ~~~ 你會注意到,`@servers`?的數組里的服務器,可以在任務聲明里被?`on`?選項引用。`@task`?聲明中,應放置服務器運行的 Bash 代碼。 可以指定服務器 IP 地址為?`127.0.0.1`?來強制在本地運行腳本: ~~~ @servers(['localhost' => '127.0.0.1']) ~~~ ### 配置 有時,執行 Envoy 任務前,需要執行 PHP 代碼,這就可以使用?`@setup`?指令聲明變量和執行 PHP: ~~~ @setup $now = new DateTime(); $environment = isset($env) ? $env : "testing"; @endsetup ~~~ 任務執行前,需要引入 PHP 文件的話,就可以在?`Envoy.blade.php`?文件頭部使用?`@include`?指令引入: ~~~ @include('vendor/autoload.php') @task('foo') # ... @endtask ~~~ ### 變量 需要的話,可以通過命令行選項值的方式把變量傳入 Envoy 任務: ~~~ envoy run deploy --branch=master ~~~ 可以通過 Blade 的「echo」語法使用選項值。當然,任務中的?`if`?語句和循環,也同樣可以使用。現在,我們就在執行?`git pull`?命令前驗證一下?`$branch`?變量: ~~~ @servers(['web' => '192.168.1.1']) @task('deploy', ['on' => 'web']) cd site @if ($branch) git pull origin {{ $branch }} @endif php artisan migrate @endtask ~~~ ### Story Story 通過唯一、便捷的名字組合一系列任務,從而把小而專的任務聚到一起。例如,一個?`deploy`?story 要運行?`git`?和?`composer`?兩個任務,可以在其定義時列出任務?`git`?和?`composer`?的名稱: ~~~ @servers(['web' => '192.168.1.1']) @story('deploy') git composer @endstory @task('git') git pull origin master @endtask @task('composer') composer install @endtask ~~~ story 編寫好后,可以像普通任務一樣運行: ~~~ envoy run deploy ~~~ ### 多服務器 多服務器運行任務也非難事。先要在?`@servers`?聲明中添加服務器,且服務器名唯一。定義好服務器后,在任務?`on`數組中列出: ~~~ @servers(['web-1' => '192.168.1.1', 'web-2' => '192.168.1.2']) @task('deploy', ['on' => ['web-1', 'web-2']]) cd site git pull origin {{ $branch }} php artisan migrate @endtask ~~~ #### 并行運行 默認情況下,順次運行任務。也就是說,執行完第一個服務器的任務,才去執行第二個服務器的任務。想要多個服務器同時執行任務,可以在任務聲明中加入?`parallel`?選項: ~~~ @servers(['web-1' => '192.168.1.1', 'web-2' => '192.168.1.2']) @task('deploy', ['on' => ['web-1', 'web-2'], 'parallel' => true]) cd site git pull origin {{ $branch }} php artisan migrate @endtask ~~~ ## 運行任務 `Envoy.blade.php`?文件的任務或 story 通過執行 Envoy 的?`run`?命令觸發,傳入其名運行。Envoy 在運行任務時,會顯示服務器的輸出: ~~~ envoy run task ~~~ ### 任務確認 要在任務運行前進行確認,需要把?`confirm`?指令加到任務聲明中。這個選項對危險操作特別有用: ~~~ @task('deploy', ['on' => 'web', 'confirm' => true]) cd site git pull origin {{ $branch }} php artisan migrate @endtask ~~~ ## 通知 ### Slack Envoy 還支持在任務執行完后把通知發送至?[Slack](https://slack.com/)。`@slack`?指令接受一個 Slack hook URL 和一個頻道名。在 Slack 的控制面版創建的「Incoming WebHooks」集成就能找到 webhook URL。應把整個 webhook URL 傳入?`@slack`?指令: ~~~ @finished @slack('webhook-url', '#bots') @endfinished ~~~ 可以選擇以下任一作為頻道參數: * 給頻道發送通知:`#channel` * 給用戶發送通知:`@user`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看