Resolve "Automated docker image"
This commit is contained in:
parent
29a27b14fe
commit
c30da1dde0
45
.gitlab-ci.yml
Normal file
45
.gitlab-ci.yml
Normal file
@ -0,0 +1,45 @@
|
||||
stages:
|
||||
- prep
|
||||
- build
|
||||
|
||||
fetch-versions:
|
||||
image: bash:latest
|
||||
stage: prep
|
||||
script:
|
||||
- apk add git curl jq
|
||||
- echo "export NEED_UPDATE=false" > .env.update
|
||||
- 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 ce | tail -1 | cut -d '+' -f1)"
|
||||
- if [ $HALIA_VER != $GITLAB_VER ]; then echo "export NEED_UPDATE=true" > ../.env.update; fi
|
||||
artifacts:
|
||||
paths:
|
||||
- .env.update
|
||||
expire_in: 1 week
|
||||
|
||||
build-image:
|
||||
image: docker:latest
|
||||
stage: build
|
||||
services:
|
||||
- name: docker:dind
|
||||
script:
|
||||
- source .env.update
|
||||
- if [ "$NEED_UPDATE" = false ]; then exit 0; fi
|
||||
- apk add git wget
|
||||
- git clone https://gitlab.com/gitlab-org/omnibus-gitlab
|
||||
- cd omnibus-gitlab
|
||||
- "GITLAB_VER=$(git tag | sort -V | grep ce | tail -1)"
|
||||
- "GITLAB_SHORT_VER=$(echo $GITLAB_VER | cut -d '+' -f 1)"
|
||||
- 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 \\' Dockerfile
|
||||
- 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
|
Reference in New Issue
Block a user