CakePHP Deployment

sas

Einleitung

Um PHP Anwendungen auf einem Web-Server bereitzustellen,  gibt es einige Möglichkeiten.  Die meisten dieser Tools sind recht aufwendig in der Konfiguration oder schwierig zu bedienen.

Eine einfache Alternative,  speziell für CakePHP,  möchte ich hier vorstellen.

Voraussetzungen

  • CakePHP ab Version 1.3
  • Remotezugang via FTP
  • Eine Konsole am lokalen Rechner mit konfigurierter cake-shell

Los gehts..

1. Installation

git://github.com/sassman/deployment_shell.git

den Code in das Verzeichnis “app/vendors/shells/” entpacken.

2. Konfiguration erstellen

2.1 Konfiguration interaktiv erstellen

in cake bake shell -Art kann die Konfiugration interaktiv erstellt werden.

cake deploy create_deployment_config

2.2 Konfiguration manuell erstellen

/app/config/deployment.php:

<?php
 
class AppDeployment extends BasicDeployment
{
    var $default = array(
	'source' => 'File',
	'destination' => array('Ftp' => array(
		'host'      => 'yourftp_hostname',
           	'login'     => 'username',
           	'password'  => 'password',
           	'port'      => '21',
           	'timeout'   => '60',
           	'path'		=> '/html/app/beta/your_app'
	)),
       'exclusions' => array(
       		'files/attachments*',
       		'core.php'
       )
    );
 
    var $live = array(
	'source' => 'File',
	'destination' => array('Ftp' => array(
		'host'      => 'your_ftphostname',
           	'login'     => 'username',
           	'password'  => 'password',
           	'port'      => '21',
           	'timeout'   => '60',
           	'path'		=> '/html/apps/your_app'
	)),
       'exclusions' => array(
       		'files/attachments*',
       		'/cake/',
       		'core.php'
       )
    );
}
 
?>

3. First Run

eine Konsole öffnen und in den /app Ordner ihrer Anwendung wechseln.

cake deploy

führt das Deployment mittels Default-Konfiguration aus.

und

cake deploy live

führt das Deployment mittels “live” Konfiguration aus.

auf diese Weise können, beliebig viele , Deployment-Konfigurationen angelegt werden.

4. Bemerkungen

Das Tracken der übertragenen Dateien,  erfolgt über eine sha1 checksumme der Datei und wird im Kontext der Deployment-Konfiguration abgespeichert. Dadurch erhält jede Deployment-configuration ihre eingene Update-Datei-Liste.


One Response to “CakePHP Deployment”

Leave a Reply