2021-11-15 22:30:13 +00:00
|
|
|
stages:
|
|
|
|
- build
|
|
|
|
|
|
|
|
build-image:
|
|
|
|
image: docker:latest
|
|
|
|
stage: build
|
|
|
|
services:
|
|
|
|
- name: docker:dind
|
|
|
|
script:
|
2022-05-21 19:02:43 +00:00
|
|
|
- apk add git wget curl jq
|
2021-11-15 22:30:13 +00:00
|
|
|
- git clone https://gitlab.com/gitlab-org/omnibus-gitlab
|
|
|
|
- cd omnibus-gitlab
|
2022-05-21 19:02:43 +00:00
|
|
|
- "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)"
|
2021-11-23 10:02:57 +00:00
|
|
|
- "GITLAB_VER=$(git tag | sort -V | grep -v rc | grep ce | tail -1)"
|
2021-11-15 22:30:13 +00:00
|
|
|
- "GITLAB_SHORT_VER=$(echo $GITLAB_VER | cut -d '+' -f 1)"
|
2022-05-21 19:02:43 +00:00
|
|
|
- wget "https://img.shields.io/badge/image version-$GITLAB_SHORT_VER-informational" -O ../image_version.svg
|
2022-05-27 20:57:44 +00:00
|
|
|
- if [ $HALIA_VER == $GITLAB_SHORT_VER ]; then echo "No update available, exciting..."; exit 0; fi
|
2021-11-15 22:30:13 +00:00
|
|
|
- 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
|
2022-10-22 19:57:29 +00:00
|
|
|
- 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 '/gitlab-ctl reconfigure/a \\nif command -v cron\; then\n\techo \"Starting cron daemon...\"\n\tcron\nfi' assets/wrapper > assets/wrapper
|
2021-11-15 22:30:13 +00:00
|
|
|
- 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
|
2021-12-09 10:47:29 +00:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- image_version.svg
|
|
|
|
expire_in: 1 month
|