Tanguy Herbron
b530910e81
The 'tabs' command is not available by default on Alpine images, this makes the current pipeline fail. Removing the instruction to fix the issue.
36 lines
2.0 KiB
YAML
36 lines
2.0 KiB
YAML
stages:
|
|
- build
|
|
|
|
build-image:
|
|
image: docker:latest
|
|
stage: build
|
|
services:
|
|
- name: docker:dind
|
|
script:
|
|
- apk add git wget curl jq
|
|
- git clone https://gitlab.com/gitlab-org/omnibus-gitlab
|
|
- cd omnibus-gitlab
|
|
- "HALIA_VER=$(curl --request GET -L --header 'Accept: application/json' --header 'Content-Type: application/json' https://git.halia.dev/api/v4/projects/24/registry/repositories/6/tags | jq -r '.[].location' | grep -v latest | cut -d ':' -f2 | sort -V | tail -1)"
|
|
- "GITLAB_VER=$(git tag | sort -V | grep -v rc | grep ce | tail -1)"
|
|
- "GITLAB_SHORT_VER=$(echo $GITLAB_VER | cut -d '+' -f 1)"
|
|
- wget "https://img.shields.io/badge/image version-$GITLAB_SHORT_VER-informational" -O ../image_version.svg
|
|
- if [ $HALIA_VER == $GITLAB_SHORT_VER ]; then echo "No update available, exciting..."; exit 0; fi
|
|
- git checkout $GITLAB_VER
|
|
- "GITLAB_VER=$(echo $GITLAB_VER | tr '+' -)"
|
|
- NEW_URL="wget --no-check-certificate --content-disposition 'https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_${GITLAB_VER}_arm64.deb/download.deb' -O /tmp/gitlab.deb"
|
|
- sed -i "/wget/c$NEW_URL" docker/assets/download-package
|
|
- cd docker
|
|
- echo "RELEASE_PACKAGE=gitlab-ce" >> RELEASE
|
|
- echo "RELEASE_VERSION=$GITLAB_SHORT_VER-ce" >> RELEASE
|
|
- echo "DOWNLOAD_URL=http://random.com" >> RELEASE
|
|
- sed -i '14 i \ libatomic1 cron \\' Dockerfile
|
|
- sed -i '45 i \ \n\# Setup crontab for scheduled backups\nRUN { cat; echo \"0 5 * * 6 gitlab-backup create SKIP=registry,builds,artifacts\"; } | crontab -\n\n' Dockerfile
|
|
- sed -i '/gitlab-ctl reconfigure/a \\nif command -v cron\; then\n\techo \"Starting cron daemon...\"\n\tcron\nfi' assets/wrapper
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
- docker build -t $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER .
|
|
- docker push $CI_REGISTRY/athens-school/gitlab:$GITLAB_SHORT_VER
|
|
artifacts:
|
|
paths:
|
|
- image_version.svg
|
|
expire_in: 1 month
|