문제

빌드 시스템에서 서버로 원격 배포를하고 싶습니다. 원격은 스크립트에서 SSH 명령을 통해 수행 할 수 있지만 자동화를 수행 할 Phing과 Deploy.xml 파일을 사용합니다.

Phing 빌드 파일 내에서 SSH (및 SCP) 작업을 수행 해야하는 대안은 무엇입니까?

도움이 되었습니까?

해결책

정말로 phing이 필요하다면, afaik은 exec 만 있습니다. 다른 도구를 위해 열려 있다면 Capistrano 그리고 "내 대답"PHP 웹 프로젝트, 인프라 설정.".

다른 팁

scptask PHING :

SCP를 사용하여 원격 호스트와의 파일을 복사합니다. 이 작업에는 필요합니다 PHP SSH2 확장 기능하기 위해 ...

나는 만났다 SCP 및 SSH 작업 어제 phing을 위해. 또한 지침을 따라야합니다 PHP 용 SSH2 설치. 나는 상자에서 바로 작업 할 작업을 얻을 수 없었습니다. 내가 제공 할 수있는 경우 사본을 수정했습니다.

나는 약 1 년 전에 같은 문제를 겪었고 그때는 과제를 찾을 수 없었습니다. 결국 EXEC 작업을 수행했습니다. 이런 식으로 XML 파일에있었습니다.

<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />

나는 이것이 오래되었음을 알고 있지만 여러 개의 깨진 링크와 약간의 잘못된 정보가있는 것 같습니다.

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

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

을 위한 의미 단위, 우리는 사용 배포 할 rsync exec를 통해 파일을 Sourceforge 서버로 릴리스합니다. rsync는 SSH를 이해합니다.

SSH의 경우 SSH2 PECL 확장이 있고 Phing에는 다음과 같습니다. SSH 그리고 SCP 작업.

  1. Mac에 홈브류를 통해 Libssh2를 설치하십시오. 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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top