Newer
Older
curl https://api.github.com/repos/nextcloud/server/tags?per_page=50 > /tmp/tags
export MINOR_VERSION=`cat /tmp/tags | jq '.[] | select(.name|test(".rc.")|not) |select(.name|test("v'${MARKETTING_VERSION}'.")).name' | head -n1 | cut -d\" -f2 | cut -c2-`
export PATCH_NUMBER=`curl https://raw.githubusercontent.com/nextcloud/server/v${MINOR_VERSION}/version.php | grep '$OC_Version =' | cut -d, -f4 | cut -d] -f1 | xargs`
echo "MARKETTING_VERSION=$MARKETTING_VERSION"
echo "MINOR_VERSION=$MINOR_VERSION"
echo "PATCH_VERSION=$MINOR_VERSION.$PATCH_NUMBER"
}
function build_kaniko() {
echo "======Building kaniko with following env:"
echo $CONTEXT
echo $DESTINATION
echo $BASE_TAG
echo "======"
/kaniko/executor --cache --context ${CONTEXT} ${DESTINATION} --build-arg MARKETTING_VERSION=$MARKETTING_VERSION --build-arg MINOR_VERSION=$MINOR_VERSION --build-arg PATCH_VERSION=$PATCH_VERSION --build-arg BASE_TAG=$BASE_TAG
}
function print_versions() {
echo "======Building the following version:"
echo $MARKETTING_VERSION
echo $MINOR_VERSION
echo $PATCH_VERSION
echo "======"
}
function build_base() {
export CONTEXT=${CI_PROJECT_DIR}/base
cd ${CONTEXT}
build_kaniko
}
function build_web() {
export CONTEXT=${CI_PROJECT_DIR}/web
cd ${CONTEXT}
build_kaniko
}
function test_build() {
print_versions
build_base
}
function build() {
print_versions
cp $DOCKER_SECRET_CONFIG /kaniko/.docker/config.json
export DESTINATION_PREFIX="--destination ${DOCKER_HUB_REPO}"
export DATE=`date "+%Y-%m-%dT%H-%M-%SZ"`
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
export BASE_TAG=${MINOR_VERSION}
export DESTINATION="\
${DESTINATION_PREFIX}:${MINOR_VERSION}\
${DESTINATION_PREFIX}:${MINOR_VERSION}-${DATE}\
"
build_base
export DESTINATION="\
${DESTINATION_PREFIX}:web-${MINOR_VERSION}\
${DESTINATION_PREFIX}:web-${MINOR_VERSION}-${DATE}\
"
build_web
else # feature branch
export BASE_TAG=${CI_COMMIT_BRANCH}
export DESTINATION="\
${DESTINATION_PREFIX}:${CI_COMMIT_BRANCH}\
${DESTINATION_PREFIX}:${CI_COMMIT_BRANCH}-${DATE}\
"
build_base
export DESTINATION="\
${DESTINATION_PREFIX}:web-${CI_COMMIT_BRANCH}\
${DESTINATION_PREFIX}:web-${CI_COMMIT_BRANCH}-${DATE}\
"
build_web
fi