4

Ich habe viele Male versucht, eine Continuous Integration via BitBucket Pipeline (beta) durchzuführen. Für den Moment brauche ich eine sehr einfache Aufgabe, aktualisieren Sie einfach meinen Remote-Server, wenn ein Push-Vorgang im Repository durchgeführt wird (In der Vergangenheit habe ich zu diesem Zweck CodeShip mit einer sehr ähnlichen Syntax verwendet).Wie man per FTP eine Website mit BitBucket-Pipelines einsetzt

In Pipelines sind notwendig, um eine Datei mit dem Namen bitbucket-pipelines.yml einzurichten, die mehrere Zeilen enthalten zwischen den Zweigen zu unterscheiden, etc., aber die Hauptunterweisung ist:

- lftp -c "open -u $FTP_USER,$FTP_PASSWORD ftp.mydomain.com; set ssl:verify-certificate no; mirror -Rne /opt/atlassian/bitbucketci/agent/build /clone/ /public_html/dev" 

Leider ist es nicht richtig ausgeführt werden, da es (anscheinend gescheitert mit Endlosschleife und neuen Versuchen).

Ich habe versucht, dieses Thema mit dem Support zu besprechen, aber ich habe keine nützliche Hilfe erhalten und in der letzten Nachricht haben sie mir einfach andere Ressourcen vorgeschlagen.

Vielleicht gibt es jemanden, der erfolgreich ähnliche Dinge eingerichtet hat?

Dank

Antwort

7

Wenn ihr nur ein git Sie schieben, könnten Sie dies versuchen.

image: samueldebruyn/debian-git 

pipelines: 
    default: 
     - step: 
      script: 
      - echo "Pipeline Init" 
      - apt-get update 
      - apt-get -qq install git-ftp 
      - echo "'_$(git status -uno --porcelain | wc -l)_'" 
      - git status -uno --porcelain 
      - echo "Initiating Push site:Source." 
      - git config git-ftp.syncroot Source/ 
      - git ftp init --user $Username --passwd $Pwd ftp://domain.com/public_html/ 

Sobald Sie die erste push (init) getan haben, ändern Sie den Code git ftp init zu git ftp push

Verwandte Themen