AletaReleaser/build.sh

57 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
docker ps &> /dev/null
if [ $? != 0 ]; then
docker() {
sudo $(which docker) "$@"
}
fi
build() {
cd -
if [ -e output ]; then
rm -rf output
fi
if update_aleta; then
mkdir output
docker build --no-cache -t aletareleaser:latest . --build-arg uid=$(getent passwd $(whoami) | awk -F: '{ print $3 }')
docker run -v $(realpath output):/var/lib/aleta/output --rm aletareleaser
else
return 1;
fi
}
update_aleta() {
if [ ! -e aleta ]; then
git clone https://gitea.sergiotarxz.freemyip.com/germedeb/aleta-postre aleta
return 0;
fi
cd aleta
git fetch
current_commit=$(git rev-parse HEAD)
if [ $current_commit == `git rev-parse @{u}` ]; then
echo 'Aleta is updated'
cd -
return 1
fi
git pull
cd -
return 0
}
source ~/.bashrc
cd $(dirname $0)
if [ -f aleta.lock ]; then
echo 'Deploy is running.';
exit 0;
fi
touch aleta.lock
build
exit_build=$?
rm aleta.lock
if [ $exit_build == 0 ]; then
if [ ! -e output/aleta.tar.gz ]; then
echo "aleta.tar.gz not exists." 1>&2
exit 1
fi
perl create_aleta_release.pl
fi