Доступны ли для phing задачи ssh и scp? - PullRequest
5 голосов
/ 23 октября 2008

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

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

Ответы [ 7 ]

15 голосов
/ 15 декабря 2010

SCPTask в Phing:

копирует файлы на удаленный хост и с него, используя scp. Для этой задачи требуется PHP SSH2 расширение для работы ...

9 голосов
/ 29 января 2009

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

5 голосов
/ 23 октября 2008

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

<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
2 голосов
/ 04 февраля 2014

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

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

SshTask : http://www.phing.info/docs/guide/stable/apcs60.htm

1 голос
/ 12 июня 2011

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

0 голосов
/ 17 ноября 2014

Для 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 голосов
/ 23 октября 2008

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

...