This creates a $buildphar as $root/$target/foo.phar
+ one phar per tag as $root/$target/download/$tag/foo.phar
It also dumps the latest git commit hash built in $root/$target/version
This creates a $buildphar as $root/$target/foo.phar
+ one phar per tag as $root/$target/download/$tag/foo.phar
It also dumps the latest git commit hash built in $root/$target/version
# config | |
root="/var/www/example.org" | |
build="project-src" | |
buildscript="bin/compile" | |
buildphar="example.phar" | |
target="web" | |
repo="https://github.com/example/example.git" | |
composer="/usr/bin/composer.phar" | |
# init | |
if [ ! -d "$root/$build" ] | |
then | |
cd $root | |
git clone $repo $build | |
fi | |
cd "$root/$build" | |
# update master | |
/usr/bin/git fetch -q origin && \ | |
/usr/bin/git fetch --tags -q origin && \ | |
/usr/bin/git checkout master -q && \ | |
/usr/bin/git rebase origin/master -q && \ | |
/usr/local/bin/php $composer install -q && \ | |
/usr/local/bin/php -d phar.readonly=0 $buildscript && \ | |
mv $buildphar "$root/$target/$buildphar" && \ | |
/usr/bin/git log --pretty="%h" -n1 HEAD > "$root/$target/version" | |
# create tagged releases | |
for version in `git tag`; do | |
if [ ! -f "$root/$target/download/$version/$buildphar" ] | |
then | |
mkdir -p "$root/$target/download/$version/" | |
/usr/bin/git checkout $version -q && \ | |
/usr/local/bin/php $composer install -q && \ | |
/usr/local/bin/php -d phar.readonly=0 $buildscript && \ | |
mv $buildphar "$root/$target/download/$version/$buildphar" | |
fi | |
done |