Building and deploying on CentOS 5
There are many, many ways to deploy Pressflow, but this is the method Four Kitchens uses for its largest projects.
Setup
Add the EPEL and Four Kitchens Yum repositories.
Install Ant and other dependencies:
sudo yum install ant ant-apache-regexp bzr bzrtools createrepoMake the project available in a Bazaar branch
If the project is already in Bazaar, this is done.
If the project is not in Bazaar, try to create a local branch that imports the appropriate code from Subversion, Mercurial, or git. Importing Subversion on CentOS 5 requires Subversion support for Bazaar on CentOS 5.
If all else fails, export the code to deploy and import it into a Bazaar branch. Commit.
Branch the Pressflow Deployment Packaging project code into
deployment-packaging:bzr branch lp:pressflow-deployment-packaging deployment-packagingCreate a properties file with your application's settings:
deployment-packaging/build.properties
application.branch=lp:~BRANCH-OWNER/PROJECT/BRANCH application.name=PROJECT application.summary=DESCRIPTION application.packager=FIRST LAST <ADDRESS@EXAMPLE.COM> application.vendor=VENDOR application.webroot=PATH-TO-DRUPAL-OR-PRESSFLOW application.domain=DOMAIN yum-repository=DESTINATION-FOR-RPM-PACKAGEYou can also specify
application.branch-prefixinstead ofapplication.branchif most branches reside in the same root path. See the top of the Ant script for details.
Try to create a build:
ant buildInstall
vsftpdand enable anonymous access (but disable writes).Create a directory under
/var/ftp/pubto host the Yum repository for builds.Try to create and publish a build:
ant publish
Client setup
Add and enable the Yum repository from the management box:
/etc/yum.repos.d/PROJECT.repo
[PROJECT] name=PROJECT baseurl=ftp://MANAGEMENT-BOX/pub/PROJECT/ failovermethod=priority enabled=1 gpgcheck=0Attempt to install the project via Yum:
sudo yum install PROJECT
Starting simple: creating an RPM with from tip of the specified branch
Make
deployment-packagingthe working directory.Create an RPM:
ant
More complex: building and publishing a tag-based RPM to your application's Yum repository
Make
deployment-packagingthe working directory.Create and publish an RPM:
ant publish -Dapplication.tag=release-1.1
Deployment
Use a management utility or deployment tool to install or update the RPM on target systems.
Restart necessary services.
Feedback, questions, and bugs
Please post these to this project's space on Launchpad.