Beatrix CITop

Simple continous integration server writting in PHP. I would use Jenkins CI, but my Raspberry Pi hates Java and Tomcat.

RequirementsTop

InstallationTop

  1. Doenload from GitHub
  2. Copy the files somewhere in your web server root e.g. in the ci subdirectory.
  3. Grant write access for the user running PHP to the tmp/ sub directory.
  4. Create a direcotry with write permissions for the web server, used as workspace.
  5. Create a database with the name beaci and import the file sql/beaci.sql.
  6. Open inc/config.inc.php and enter the database informations.
  7. Open a web browser and enter http(s)://your.host/ci/
  8. Open the Settings page and enter the absolute path to your workspace.
  9. Add a cron job: wget http(s)://your.host/ci/cron/index.php, e.g. 0 4 * * * wget --no-check-certificate -O - https://your.host/ci/cron/index.php Execute every day at 4 am.
  10. Open Projects → New to add a new project.

UpdatingTop

If the database schema changed go to Settings → Maintenance and click Update to update the database.

Deploy artifactsTop

  1. To create an artifact you could use the tar job: tar -zcvf {$project}-{$date}.tar.gz ./ --exclude=.git
  2. Archiving the artifact with the Move job: mv {$project}-{$date}.tar.gz /media/hdd02/artifacts
  3. Uploading with the ftp Job: {$ROOT}/bin/ftp ftp://user:pass@server.com/remotedir/remotefile.tar.gz /media/hdd02/artifacts/{$project}-{$date}.tar.gz

ScreenshotTop

Beatrix CI

FAQTop

Q Does it work on Windows?
A No, but it wouldn’t too much work to get it running, but I have no need for that.
Q Can I use another database server, e.g. Postgres SQL?
A No
Q Can I use Perl, Python, Ruby instead of PHP?
A WTF?