2014-08-29 4 views
11

Ich benutze Bitbucket für die Verwaltung meiner privaten Repositories.
Ich möchte die Dateien bereitstellen, die bei jedem Commit auf dem FTP-Server aktualisiert werden.Push von Bitbucket Repository zu Shared Hosting FTP-Server

Ich google'd und fand viele Skripte, konnte aber mit keinem von ihnen erfolgreich sein. Der FTP-Server ist ein Shared-Hosting-Server, auf den Filezilla im expliziten FTP-Verbindungsmodus zugreift.

Ich möchte keine Online-Anwendungen von Drittanbietern verwenden.

Bitte führen Sie mich einen Spaziergang durch die Lösung.

Ich versuche this

zu verwenden, aber die Schlüssel muss in der Bereitstellung Schlüssel Bitbucket Konto eingegeben werden? Privat oder öffentlich?

+1

Dit Sie versuchen, das Bitbucket FTP Skript Bereitstellung von Autoren von Bitbucket? https://bitbucket.org/sibbl/bitbucket-ftp-deployment/wiki/Home –

+0

yeah. aber es hat nicht für mich funktioniert. –

+0

Gibt es noch andere Arbeiten? –

Antwort

1

Diese Frage ist uralt. Ich antworte jedoch auf die Frage in der Hoffnung, dass jemand anderes nach einer Lösung sucht.

Sie können the FTP Deployment PHP Script von BitBucket bereitgestellt verwenden.

Wenn Sie FTPS explizit benötigen, in der functions.inc.php, wo Sie den obigen Code laden, ersetzen Sie diese Zeile:

$conn_id = ftp_connect($ftp_host); 

Mit dem unten:

// set up basic ssl connection 
$conn_id = ftp_ssl_connect($ftp_host); 

Dies sollten Sie Alle setzen dieses Skript mit expliziter SSL-FTP-Verbindung anstelle von Nur-Text-FTP.

13

Sie können das neue Bitbucket-Tool Pipelines verwenden! Konfigurieren Sie eine neue Pipeline-Datei:

image: samueldebruyn/debian-git 
     pipelines: 
     default: 
     - step: 
      script: 
      - apt-get update 
      - apt-get -qq install git-ftp 
      - git ftp init --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://server/public_html/ 

Bevor Sie verpflichten, erstellen Sie die Umgebungsvariablen $ ftp_username und $ FTP_PASSWORD berücksichtigt in Einstellungen -> Umgebungsvariablen.

Für den Push bearbeiten Sie den Quellcode und ändern Sie die "init" zu "push" und verpflichten Sie sich, die Datei auf Ihrem freigegebenen Server zu ersetzen.

Für weitere Informationen schauen Sie sich dieses Video: https://www.youtube.com/watch?v=8HZhHtZebdw

+0

Dies ist eine großartige Antwort, löste es perfekt für mich! – AndyWarren

+0

Dies funktionierte für etwa anderthalb Monate, dann hörte einfach auf zu arbeiten. Die Pipeline wird in Bitbucket erfolgreich beendet, kopiert jedoch keine Dateien mehr über FTP. Ich habe versucht, es jetzt für 2 Tage herauszufinden. Irgendwelche Ideen? – AndyWarren

+1

Hallo Freund, ich habe Pipelines für eine lange Zeit und ich wirklich nicht bestanden, versuchen Sie zu überprüfen, dass die FTP-Zugriffe in den Umgebungsvariablen aktiv sind, solange der Produktionsserver nicht geändert hat IP/Domäne –