You are not logged in.

  • Login

1

Tuesday, August 24th 2010, 2:04pm

Bash: Daten aus SVN ausschecken und auf FTP uploaden (deploy)

Hallo liebe User,

Ich habe einige Vorstellungen um einen deploy zu realisieren.

Als erstes müsste das Script die neuen Daten aus dem SVN ausschecken und temporär ablegen (Bsp: /nc_deploy/temp/cserv/).
Nun sollte das Script auch die Revisionsnummer kennen um sie später zu vermerken.
Die Daten aus dem SVN haben natürlich auch Unterordner.
Das Script soll nun die ausgecheckten Daten auf einen entfernten FTP Server laden und dabei die gleichnamigen Dateien überschreiben.
Danach soll das Script die Revisionsnummer in eine neue Datei auf dem FTP schreiben (z.B. mit dem Inhalt "24.08.2010 - 13:55:12 Revision 544" und dem Dateinamen "LastDeploy.txt")

So das ist zumindest der Plan......
Nun bin ich nicht ganz so fit in Bash und möchte gerne ein paar Lösungsvorschläge bzw. Codesexamples von euch haben.
Wichtig ist, dass ich das Script editieren kann und die Dateien auch vollständig übertragen werden.

Ich habe nun ein bisschen gegoogelt und z.B. den Teil für das Übertragen mit ftp gefunden, leider gilt das nur für jede Datei einzeln.

Ich hänge das Codestück einfach mal mit an:

Bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
# -----------------
# Konfiguration
# -----------------
LOKAL_PFAD = /nussclan_deploy/tmp/datei.txt
REMOTE_PFAD = /css/conf/datei.txt
 
FTP_SERVER = 127.0.0.1
FTP_USER = bla
FTP_PASS = bla
 
# -----------------------------------------------------
# SVN auschecken
 
# FTP verbindung herstellen
  ftp -n <<EOFTP
    open FTP_SERVER
    user FTP_USER FTP_PASS
    bin
    put $LOKAL_PFAD $REMOTE_PFAD
    quit
  EOFTP
  # Und jetzt wieder aufraeumen..



Vielen Dank im voraus!

2

Thursday, August 26th 2010, 8:59am

kannst du es nicht per scp machen? ftp ist doch ziemlich veraltet und unsicher.

Ansonsten hier ein netter Artikel dazu: http://phpadvent.org/2009/automate-your-…nt-by-rob-allen
Dort findest du zum einen eine Custom Lösung, aber auch wie es mit gängigen Tools wie phing funktioniert.

Für echtes Continuos Integration würde sich aber wohl eher Hudson in Kombination mit Debian Buildpackage Scripten anbieten.
Bei deinem FTP Workflow gibts keine Möglichkeiten Versionsabhängigkeiten anzugeben.

Oder google mal nach php automatic deploy

3

Thursday, August 26th 2010, 2:11pm

Nein das Problem ist das ich Daten aus dem SVN zu einem extern gehosteten Server der leider nur FTP Zugang hat übertragen möchte.
Die Versionabhängigkeit ist schon gegeben da ich den tag aus dem SVN auf den FTP laden möchte.
Deswegen möchte ich aus dem SVN einen bestimmten Pfad ausschecken und kopieren und diese dann über FTP in das Verzeichnis überschreiben.

also sagen wir es mal kurz: Ich möchte Ordner X + Unterordner vom Linux-Server auf einen FTP Server übertragen in Pfad X

5

Friday, August 27th 2010, 10:11am

Danke! Ich werde es bei Möglichkeit austesten und meine Resultate oder Probleme hier vermerken.

Similar threads

Social bookmarks