ipbl/ci-build.sh

63 lines
1.1 KiB
Bash
Raw Normal View History

2021-11-07 20:44:48 +01:00
#!/bin/bash
set -e
PROJECTNAME=ipbl
RELEASENAME=${PROJECTNAME}
VERSION="0"
GOOPTIONS="-mod=vendor"
SRCFILES=cmd/${PROJECTNAME}/*.go
build() {
echo "Begin of build"
2021-12-11 12:59:43 +01:00
if [[ ! -z ${DRONE_TAG} ]]
2021-11-07 20:44:48 +01:00
then
echo "Drone tag set, let's do a release"
2021-12-11 12:59:43 +01:00
VERSION=${DRONE_TAG}
2021-11-07 20:44:48 +01:00
echo "${PROJECTNAME} ${VERSION}" > /build/VERSION
2021-12-11 12:59:43 +01:00
elif [[ ! -z ${DRONE_COMMIT} ]]
2021-11-07 20:44:48 +01:00
then
echo "Drone not set, let's only do a build"
2021-12-11 12:59:43 +01:00
VERSION=${DRONE_COMMIT}
2021-11-07 20:44:48 +01:00
fi
2021-12-11 12:59:43 +01:00
if [[ ! -z ${VERSION} && ! -z ${GOOS} && ! -z ${GOARCH} ]]
2021-11-07 20:44:48 +01:00
then
echo "Let's set a release name"
RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH}
fi
echo "Building project"
go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES}
2021-12-11 12:59:43 +01:00
if [[ ! -z ${DRONE_TAG} ]]
2021-11-07 20:44:48 +01:00
then
echo "Let's make archives"
mkdir -p /build
tar -czvf /build/${RELEASENAME}.tar.gz ${PROJECTNAME}
fi
echo "Removing binary file"
rm ${PROJECTNAME}
echo "End of build"
}
clean() {
2021-12-11 12:59:43 +01:00
rm -rf ${RELEASEDIR}
2021-11-07 20:44:48 +01:00
}
case $1 in
"build")
build
;;
"clean")
clean
;;
*)
echo "No options choosen"
exit 1
;;
esac