Inhaltsverzeichnis
Envoy 任务运行器
简介
安装
编写任务
任务变量
多个服务器
任务宏
运行任务
通知
HipChat
Slack
Heim Backend-Entwicklung PHP-Tutorial laravel 基础教程 -- SSH 任务

laravel 基础教程 -- SSH 任务

Jun 20, 2016 am 09:37 AM

Envoy 任务运行器

简介

Laravel Envoy 为远端服务器常用任务的定义与执行提供了迷你简洁的语法。你可以通过使用 Blade 语法样式轻松的为部署,Artisan 命令等设置任务。目前,Envoy 只支持 Mac 和 Linux 操作系统。

安装

首先,你需要通过 Composer 的 global 命令来安装 Envoy:

composer global require "laravel/envoy=~1.0"
Nach dem Login kopieren

你需要确保 ~/.composer/vendor/bin 目录被加入到你的 PATH 中,这样才能使你在使用终端时可以直接使用 envoy 命令。

更新 Envoy

你可以使用 Composer 来维持 Envoy 的更新:

composer global update
Nach dem Login kopieren

编写任务

所有的 Envoy 任务应该被定义在你项目的根目录下的 Envoy.blade.php 文件中。这里有一个简单的示例:

@servers(['web' => 'user@192.168.1.1'])@task('foo', ['on' => 'web'])  ls -al@endtask
Nach dem Login kopieren

就如你所看到的,@servers 指令被定义在文件的头部,并且包含一个数组,数组中包含服务器的列表。@task 指令用来定义任务,它包含一个任务名称,和一个数组参数,数组中包含一个 on 键,它的值就是任务所要执行的服务器,它应该是 @servers 指令列表中的一个或多个。你应该在 @task 指令的内部放置 Bash 代码,这些代码会在任务执行时传递给所要执行的远端服务器。

本地任务

你可以指定服务器为本地来执行本地的任务:

@servers(['localhost' => '127.0.0.1'])
Nach dem Login kopieren

引导

有时候,你可能希望在执行 Envoy 任务之前先执行某些 PHP 操作。你可以使用 @setup 指令来声明变量,并且你可以在其内部使用 PHP 来工作:

@setup  $now = new DateTime();  $environment = isset($env) ? $env : "testing";@endsetup
Nach dem Login kopieren

你也可以使用 @include 指令来引入任意的外部 PHP 文件:

@include('vendor/autoload.php')
Nach dem Login kopieren

确认任务

如果你希望在远端服务器执行所给定任务之前先进行提示,你可以在你的任务定义时添加 confirm 指令:

@task('deploy', ['on' => 'web', 'confirm' => true])  cd site  git pull origin {{ $branch }}  php artisan migrate@endtask
Nach dem Login kopieren

任务变量

如果你需要的话,你可以使用命令行开关来传递变量到 Envoy 任务中,这允许你定制化你的任务:

envoy run deploy --branch=master
Nach dem Login kopieren

你可以在你的任务中通过 Blade 的 echo 语法使用该选项:

@servers(['web' => '192.168.1.1'])@task('deploy', ['on' => 'web'])  cd site  git pull origin {{ $branch }}  php artisan migrate@endtask
Nach dem Login kopieren

多个服务器

你可以轻松的跨多个服务器执行任务。首先,你需要在 @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
Nach dem Login kopieren

默认的,任务会在服务器间串行执行,这意味着只有在当前服务器执行任务完成之后才会执行下一个服务器的任务。

平行执行

如果你希望跨服务器平行执行任务。你可以在任务指令中添加 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
Nach dem Login kopieren

任务宏

任务宏允许你定义一个命令来顺序的执行一组任务。举个实例,我们定义一个 deploy 宏来执行 git 和 composer 任务:

@servers(['web' => '192.168.1.1'])@macro('deploy')  git  composer@endmacro@task('git')  git pull origin master@endtask@task('composer')  composer install@endtask
Nach dem Login kopieren

一旦你定义完成了宏,你就可以通过一条命令来运行多个任务:

envoy run deploy
Nach dem Login kopieren

运行任务

你需要使用 Envoy 的 run 命令来执行 Envoy.blade.php 文件中所定义的任务。你可以传递一个任务的名称或者宏名称到命令中。Envoy 会执行任务并同步显示服务器执行的输出:

envoy run task
Nach dem Login kopieren

通知

HipChat

你可以使用 @hipchat 指令来在任务执行完成之后,发送一个消息通知到团队的 HipChat 房间中。这个指令接收一个 API token,房间的名称和消息中所显示的发送者的用户名:

@servers(['web' => '192.168.1.1'])@task('foo', ['on' => 'web'])  ls -al@endtask@after  @hipchat('token', 'room', 'Envoy')@endafter
Nach dem Login kopieren

如果你需要,你也可以发送自定义的消息到 HipChat 房间。构建消息时,任务可用的变量在消息中也是可用的:

@after  @hipchat('token', 'room', 'Envoy', "$task ran in the $env environment.")@endafter
Nach dem Login kopieren

Slack

除了 HipChat 之外,Envoy 也支持向 Slack 中发送通知。@slack 指令接收一个 Slack hook URL,一个频道名称,和你需要发送的消息内容:

@after  @slack('hook', 'channel', 'message')@endafter
Nach dem Login kopieren

你可以通过在 Slack 的网站上创建一个 Incoming WebHooks 来获取 webhook URL。hook 参数应该是一个完整的 webhook URL,比如:

https://hooks.slack.com/services/ZZZZZZZZZ/YYYYYYYYY/XXXXXXXXXXXXXXX
Nach dem Login kopieren

你可以提供以下作为频道的参数之一:

  • #channel 发送通知到频道
  • @user 发送通知到用户
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1660
14
PHP-Tutorial
1261
29
C#-Tutorial
1234
24
Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Apr 08, 2025 am 12:03 AM

Es gibt vier Hauptfehlertypen in PHP: 1. Nichts: Das geringste unterbrochen das Programm nicht, wie z. B. Zugriff auf undefinierte Variablen; 2. Warnung: Ernst als Bekanntmachung, wird das Programm nicht kündigen, z. B. keine Dateien; 3. FatalError: Das schwerwiegendste wird das Programm beenden, z. 4. Parseerror: Syntaxfehler verhindern, dass das Programm ausgeführt wird, z. B. das Vergessen, das End -Tag hinzuzufügen.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Apr 09, 2025 am 12:09 AM

Zu den HTTP -Anforderungsmethoden gehören GET, Post, Put und Löschen, mit denen Ressourcen erhalten, übermittelt, aktualisiert und gelöscht werden. 1. Die GET -Methode wird verwendet, um Ressourcen zu erhalten, und eignet sich für Lesevorgänge. 2. Die Post -Methode wird verwendet, um Daten zu übermitteln und häufig neue Ressourcen zu erstellen. 3. Die Put -Methode wird zum Aktualisieren von Ressourcen verwendet und eignet sich für vollständige Updates. V.

Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

Erklären Sie die in Php 7.4 eingeführten Pfeilfunktionen (kurze Schließungen). Erklären Sie die in Php 7.4 eingeführten Pfeilfunktionen (kurze Schließungen). Apr 06, 2025 am 12:01 AM

Die Pfeilfunktion wurde in Php7.4 eingeführt und ist eine vereinfachte Form von kurzen Schließungen. 1) Sie werden mit dem Operator => Operator definiert, weglassen und Schlüsselwörter verwenden. 2) Die Pfeilfunktion erfasst automatisch die aktuelle Umfangsvariable ohne das Schlüsselwort verwenden. 3) Sie werden häufig in Rückruffunktionen und kurzen Berechnungen verwendet, um die Einfachheit und Lesbarkeit von Code zu verbessern.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

See all articles