mirror of
https://git.yrzr.tk/docker/gitlab-ce-arm64.git
synced 2024-11-22 07:08:12 +08:00
61 lines
2.1 KiB
YAML
61 lines
2.1 KiB
YAML
variables:
|
|
BASENAME: gitlab-ce-arm64v8
|
|
DOCKER_TLS_CERTDIR: ""
|
|
|
|
stages:
|
|
- check
|
|
- build
|
|
|
|
check:
|
|
image: docker:stable-git
|
|
stage: check
|
|
tags:
|
|
- docker
|
|
only:
|
|
- branches
|
|
script:
|
|
- apk add --no-cache --upgrade openssh-client bash curl coreutils
|
|
- git config --global user.email $GIT_USER_EMAIL && git config --global user.name $GIT_USER_NAME
|
|
- mkdir -p ~/.ssh && echo "$GITLAB_SSH_PRIV_KEY" > ~/.ssh/id_rsa && ssh-keyscan -H git.yrzr.ocry.com > ~/.ssh/known_hosts && chmod -R 0600 ~/.ssh/
|
|
- git fetch --tags
|
|
# check version
|
|
- if [ -f ./version_list ]; then rm version_list; fi
|
|
- curl -s "https://pkg.yrzr.ocry.com" | grep "gitlab-ce_" | sed 's/.*gitlab-ce_\(.*\)-ce.*/\1/' | sort -rV >> version_list
|
|
# create tags
|
|
- ./create-tags.sh
|
|
- git push --tags https://${GITLAB_USER_LOGIN}:${PERSONAL_ACCESS_TOKEN}@git.yrzr.ocry.com/docker/gitlab-ce-arm64.git
|
|
|
|
build:
|
|
image: arm64v8/docker:stable-git
|
|
stage: build
|
|
services:
|
|
- name: arm64v8/docker:stable-dind
|
|
alias: docker
|
|
tags:
|
|
- aarch64
|
|
- docker
|
|
only:
|
|
- tags
|
|
before_script:
|
|
- docker info
|
|
script:
|
|
- apk add --no-cache --upgrade bash coreutils
|
|
- RELEASE_VERSION="${CI_COMMIT_TAG}-ce.0" && echo ${RELEASE_VERSION}
|
|
- REMOTE_VERSION="${CI_COMMIT_TAG}+ce.0" && echo ${REMOTE_VERSION}
|
|
# fetch dockerfile
|
|
- git clone -b ${REMOTE_VERSION} --depth=1 https://gitlab.com/gitlab-org/omnibus-gitlab.git
|
|
- cd ./omnibus-gitlab/docker
|
|
# write RELEASE
|
|
- echo "PACKAGECLOUD_REPO=gitlab-ce" > RELEASE
|
|
- echo "RELEASE_PACKAGE=gitlab-ce" >> RELEASE
|
|
- echo "RELEASE_VERSION=${RELEASE_VERSION}" >> RELEASE
|
|
- echo "DOWNLOAD_URL=https://${PKG_SERVER_URL}/gitlab-ce_${CI_COMMIT_TAG}-ce.0_arm64.deb" >> RELEASE
|
|
# missing package libatomic1 after version 13
|
|
- sed -i 's/less/less libatomic1/' ./Dockerfile
|
|
- docker build -q -t ${DOCKER_NS}/${BASENAME}:${CI_COMMIT_TAG}-ce.0 -f ./Dockerfile ./
|
|
# latest tag
|
|
- cd ../../ && git fetch --tags && ./latest-tag.sh
|
|
# docker push
|
|
- docker login --username ${DOCKER_USERNAME} --password ${DOCKER_PASSWORD}
|
|
- docker images && docker push ${DOCKER_NS}/${BASENAME}
|