Wie macht man das?
Es gibt Tools, die einen unterstützten, z.B. Buildix - was allerdings gleich mit dem gesamten Projektmanagement auffährt. Neben Buildix gibt es noch andere Tools, auf die ich hier nicht weiter eingehen möchte.
Es geht auch ohne Tools ganz einfach. Ich bevorzuge für die Staging Umgebung eine Linux Maschine, z.B. CentOS. Hier werden folgende Infrastruktur Tools installiert:
- subversion/cvs client
- maven/ant
Um den Build das Deployment zu automatisieren, schreit man ein Shell-script, z.B.:
#!/bin/bash
REPO="https://svn.company.com/myproject"
ARTIFACTID="webapplication_xyz"
CURRENT_RELEASE=branches/release_1
CURRENT_TAG=tags/release_1-0-0
source $HOME/.bashrc
function deploy_static {
rm -rf /var/www/myproject
svn co ${REPO}/${ARTIFACTID}/${CURRENT_RELEASE} /var/www/myproject/release
svn co ${REPO}/${ARTIFACTID}/${CURRENT_TAG} /var/www/myproject/tag
svn co ${REPO}/${ARTIFACTID}/trunk /var/www/myproject/trunk
}
if [ "$1" = "" ]; then
echo "$0 [deploy_static ]"
else
$1 $2
fi
Dieses Script can dann je nach Bedürfnissen so angepasst werden, dass z.B. der JAVA Code compiliert wird und ein WAR file auf dem Tomcat deployed wird. In meinem Beispiel wird lediglich statischer Content auf den Apache deployed.
Im nächsten Post beschreibe ich, wie man das ganze noch automatisiert.
Keine Kommentare:
Kommentar veröffentlichen