Miesięczne archiwum: Maj 2014

Phing, czyli zautomatyzuj swoje zadania #4

Kiedy projekt dochodzi do etapu, w którym trzeba/warto pokazać go „na zewnątrz” trzeba go jakoś wdrożyć na serwerze. Automatyzacja całego procesu budowania i wdrożenia jest ważna a wgranie plików na serwer jest jednym z etapów. W jego realizacji z wykorzystaniem FTP może pomóc Phing i zadanie FtpDeployTask. Żeby móc z niego skorzystać trzeba mieć w systemie pakiet PEAR: Net_FTP.

<ftpdeploy 
  host="${ftp.host}" 
  port="${ftp.port}" 
  username="${ftp.username}" 
  password="${ftp.password}"
  dir="${ftp.dir}" 
  passive="false"
  <fileset dir="dist">
    <include name="**"/>
  </fileset>
</ftpdeploy>

Jak widać powyżej użycie tego zadania jest banalnie proste (jeżeli jednak nie, to polecam moje wcześniejsze wpisy nt. Phinga).

Za dobry pomysł uważam budowanie projektu dla środowisk „zewnętrznych” w osobnym katalogu (ignorowanym przez IDE). Dzięki temu można uwzględnić strukturę katalogów na serwerze (np. umieszczenie plików wywoływanych przez cron w innym katalogu niż projekt). Dodatkową zaletą jest fakt, że mając odwzorowaną strukturę katalogów z serwera w podkatalogu można również wgrać pliki z wykorzystaniem klienta FTP. Przy mało stabilnym połączeniu internetowym wgranie plików projektu może być utrudnione ponieważ błąd wgrania jednego pliku przerywa wykonywanie całego zadania.

Przydatne linki: