通过sftp(phpseclib)将GIT变更集部署到1和1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过sftp(phpseclib)将GIT变更集部署到1和1相关的知识,希望对你有一定的参考价值。
Script per copiar els fitxers canviats en una revisió git al servidor remot via sftp, using php Secure Communications Library (phpseclib): http://sourceforge.net/projects/phpseclib/.Útil per usar amb 1and1.
<?php /** * Script per copiar els fitxers canviats en una revisió al servidor remot via sftp, using phpseclib (v. 0.3.1): http://sourceforge.net/projects/phpseclib/. */ if ($argc == 1) { echo " Falta parametre núm. del changeset (obligatori) "; echo "> php deploy.php c032de81340 [--force] [--debug] "; exit; } // Parametres: // changeset $changeSet = (string) $argv[1]; // --force $force = false; // --debug (opcional) $debug = false; for ($i=2; $i < $argc; $i++) { if ($argv[$i] == '--force') { $force = true; } if ($argv[$i] == '--debug') { $debug = true; } } echo " [$changeSet] "; echo " Error en git"; die; } echo " Publicando changeset [$changesetFull] $description "; include('Net/SFTP.php'); if (DEBUG) { } $sftp = new Net_SFTP(REMOTE_SERVER); if (!$sftp->login(USERNAME, PWD)) { } foreach ($output as $fileName) { deployFile($fileName, $sftp); } echo " "; // ---------------------------------------------------------------------------------------- /** * Esta función se encarga de copiar el archivo local * al servidor remoto. * */ function deployFile($fileNamePath, $sftp) { $messageIgnored = ''; if ($fileName != 'databases.yml') { $local = WORKING_BASE . $fileNamePath; $remote = REMOTE_BASE . $fileNamePath; // copies filename.local to filename.remote on the SFTP server if (FORCE) { $ok = $sftp->put($remote, $local, NET_SFTP_LOCAL_FILE); echo (($ok)? "[OK] " : " ERROR! "); if (DEBUG) { echo $sftp->getSFTPLog(); } } // system($command, $retval); // echo ' ['.$retval."] "; } else { if (FORCE) { $messageIgnored = "'$fileName' NO publicat per precaució! "; } else { $messageIgnored = "'$fileName' NO es publicarà  per precaució. "; } } if (FORCE) { echo "$fileNamePath -- $fileName => $pathToFileName"; } else { echo "$fileNamePath"; } echo " "; echo $messageIgnored; }
以上是关于通过sftp(phpseclib)将GIT变更集部署到1和1的主要内容,如果未能解决你的问题,请参考以下文章