@@ -347,7 +347,9 @@ pipeline {
347347 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
348348 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
349349 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
350- sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
350+ retry(5 ) {
351+ sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
352+ }
351353 sh ''' docker rmi \
352354 ${IMAGE}:arm32v7-${META_TAG} \
353355 lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -374,7 +376,9 @@ pipeline {
374376 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
375377 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
376378 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
377- sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
379+ retry(5 ) {
380+ sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
381+ }
378382 sh ''' docker rmi \
379383 ${IMAGE}:arm64v8-${META_TAG} \
380384 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -539,18 +543,22 @@ pipeline {
539543 passwordVariable : ' QUAYPASS'
540544 ]
541545 ]) {
546+ retry(5 ) {
547+ sh ''' #! /bin/bash
548+ set -e
549+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
550+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
551+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
552+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
553+ for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
554+ docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
555+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
556+ docker push ${PUSHIMAGE}:latest
557+ docker push ${PUSHIMAGE}:${META_TAG}
558+ done
559+ '''
560+ }
542561 sh ''' #! /bin/bash
543- set -e
544- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
545- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
546- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
547- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
548- for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
549- docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
550- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
551- docker push ${PUSHIMAGE}:latest
552- docker push ${PUSHIMAGE}:${META_TAG}
553- done
554562 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
555563 docker rmi \
556564 ${DELETEIMAGE}:${META_TAG} \
@@ -581,59 +589,61 @@ pipeline {
581589 passwordVariable : ' QUAYPASS'
582590 ]
583591 ]) {
584- sh ''' #! /bin/bash
585- set -e
586- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
587- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
588- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
589- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
590- if [ "${CI}" == "false" ]; then
591- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
592- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
593- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
594- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
595- fi
596- for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
597- docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
598- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
599- docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
600- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
601- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
602- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
603- docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
604- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
605- docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
606- docker push ${MANIFESTIMAGE}:amd64-latest
607- docker push ${MANIFESTIMAGE}:arm32v7-latest
608- docker push ${MANIFESTIMAGE}:arm64v8-latest
609- docker manifest push --purge ${MANIFESTIMAGE}:latest || :
610- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
611- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
612- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
613- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
614- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
615- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
616- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
617- docker manifest push --purge ${MANIFESTIMAGE}:latest
618- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
619- done
620- for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
621- docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
622- docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
623- docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
624- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
625- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
626- docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
627- docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
628- docker push ${LEGACYIMAGE}:amd64-${META_TAG}
629- docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
630- docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
631- docker push ${LEGACYIMAGE}:latest
632- docker push ${LEGACYIMAGE}:${META_TAG}
633- docker push ${LEGACYIMAGE}:arm32v7-latest
634- docker push ${LEGACYIMAGE}:arm64v8-latest
635- done
636- '''
592+ retry(5 ) {
593+ sh ''' #! /bin/bash
594+ set -e
595+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
596+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
597+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
598+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
599+ if [ "${CI}" == "false" ]; then
600+ docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
601+ docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
602+ docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
603+ docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
604+ fi
605+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
606+ docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
607+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
608+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
609+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
610+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
611+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
612+ docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
613+ docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
614+ docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
615+ docker push ${MANIFESTIMAGE}:amd64-latest
616+ docker push ${MANIFESTIMAGE}:arm32v7-latest
617+ docker push ${MANIFESTIMAGE}:arm64v8-latest
618+ docker manifest push --purge ${MANIFESTIMAGE}:latest || :
619+ docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
620+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
621+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
622+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
623+ docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
624+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
625+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
626+ docker manifest push --purge ${MANIFESTIMAGE}:latest
627+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
628+ done
629+ for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
630+ docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
631+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
632+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
633+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
634+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
635+ docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
636+ docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
637+ docker push ${LEGACYIMAGE}:amd64-${META_TAG}
638+ docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
639+ docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
640+ docker push ${LEGACYIMAGE}:latest
641+ docker push ${LEGACYIMAGE}:${META_TAG}
642+ docker push ${LEGACYIMAGE}:arm32v7-latest
643+ docker push ${LEGACYIMAGE}:arm64v8-latest
644+ done
645+ '''
646+ }
637647 sh ''' #! /bin/bash
638648 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
639649 docker rmi \
0 commit comments