Существуют ли задачи ssh и scp, доступные для phing?


Я хотел бы выполнить удаленное развертывание с моей машины сборки на сервере. Удаленное взаимодействие может быть выполнено с помощью команд ssh из скрипта, но я бы предпочел использовать phing и deploy.xml файл, который будет выполнять автоматизацию.

Какие альтернативы у меня есть для выполнения задач ssh (а также scp) из файла сборки phing?

Author: Johan, 2008-10-23

7 answers

Если вам действительно нужен phing, то afaik есть только exec. Если вы открыты для других инструментов, взгляните на capistrano и мой ответ в " Настройка веб-проекта PHP, инфраструктура.".

 -2
Author: Till, 2017-05-23 10:29:54

Scptask в Phing:

Копирует файлы на удаленный хост и с него с помощью scp. Эта задача требует Расширение PHP SSH2 функционировать...

 15
Author: yegor256, 2017-03-15 17:51:30

Вчера я наткнулся на задачи SCP и SSH для Phing. Вам также нужно будет следовать инструкциям по установке SSH2 для PHP. Я не смог заставить задачи работать прямо из коробки, вы могли бы. Я изменил свою копию, если вам нужно, я могу предоставить.

 9
Author: user59949, 2009-01-28 21:25:15

Я столкнулся с такой же проблемой около года назад, и тогда я не мог найти задачу. В итоге я выполнил задачу exec, таким образом, все это было в xml-файле.

<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
 5
Author: user30684, 2008-10-23 12:50:05

Я знаю, что это старое, но, похоже, есть несколько неработающих ссылок и некоторая дезинформация.

Scptask: http://www.phing.info/docs/guide/stable/apcs60.html

Задача: http://www.phing.info/docs/guide/stable/apcs60.htm

 2
Author: eddiemoya, 2014-02-03 20:50:41

Для semanticscuttle мы используем rsync для развертывания файлов выпуска на сервере SourceForge - также через exec. Rsync понимает ssh.

 1
Author: cweiske, 2011-06-12 18:13:19

Для ssh есть расширение ssh2 PECL, а затем у Phing есть задачи ssh и scp.

  1. На компьютере Mac установите libssh2 через Homebrew. В Linux используйте свой менеджер пакетов.
  2. sudo pecl install pecl.php.net/ssh2-0.12

Теперь вы можете сделать это:

<?xml version="1.0"?>
<project name="test" default="test">
  <target name="test">
    <ssh username="vagrant" password="vagrant" host="192.168.123.456"
        command="pwd" property="pwd" display="false" />
    <echo>The current working directory is ${pwd}</echo>
  </target>
</project>
 0
Author: Rob Allen, 2014-11-17 10:58:26