@@ -349,7 +349,9 @@ pipeline {
349349 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
350350 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
351351 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
352- sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
352+ retry(5 ) {
353+ sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
354+ }
353355 sh ''' docker rmi \
354356 ${IMAGE}:arm32v7-${META_TAG} \
355357 lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -376,7 +378,9 @@ pipeline {
376378 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
377379 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
378380 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
379- sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
381+ retry(5 ) {
382+ sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
383+ }
380384 sh ''' docker rmi \
381385 ${IMAGE}:arm64v8-${META_TAG} \
382386 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -541,18 +545,22 @@ pipeline {
541545 passwordVariable : ' QUAYPASS'
542546 ]
543547 ]) {
548+ retry(5 ) {
549+ sh ''' #! /bin/bash
550+ set -e
551+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
552+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
553+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
554+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
555+ for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
556+ docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
557+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:development
558+ docker push ${PUSHIMAGE}:development
559+ docker push ${PUSHIMAGE}:${META_TAG}
560+ done
561+ '''
562+ }
544563 sh ''' #! /bin/bash
545- set -e
546- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
547- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
548- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
549- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
550- for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
551- docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
552- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:development
553- docker push ${PUSHIMAGE}:development
554- docker push ${PUSHIMAGE}:${META_TAG}
555- done
556564 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
557565 docker rmi \
558566 ${DELETEIMAGE}:${META_TAG} \
@@ -583,59 +591,61 @@ pipeline {
583591 passwordVariable : ' QUAYPASS'
584592 ]
585593 ]) {
586- sh ''' #! /bin/bash
587- set -e
588- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
589- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
590- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
591- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
592- if [ "${CI}" == "false" ]; then
593- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
594- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
595- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
596- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
597- fi
598- for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
599- docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
600- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
601- docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
602- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-development
603- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-development
604- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-development
605- docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
606- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
607- docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
608- docker push ${MANIFESTIMAGE}:amd64-development
609- docker push ${MANIFESTIMAGE}:arm32v7-development
610- docker push ${MANIFESTIMAGE}:arm64v8-development
611- docker manifest push --purge ${MANIFESTIMAGE}:development || :
612- docker manifest create ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm32v7-development ${MANIFESTIMAGE}:arm64v8-development
613- docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm32v7-development --os linux --arch arm
614- docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm64v8-development --os linux --arch arm64 --variant v8
615- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
616- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
617- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
618- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
619- docker manifest push --purge ${MANIFESTIMAGE}:development
620- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
621- done
622- for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
623- docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
624- docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
625- docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
626- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:development
627- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
628- docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-development
629- docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-development
630- docker push ${LEGACYIMAGE}:amd64-${META_TAG}
631- docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
632- docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
633- docker push ${LEGACYIMAGE}:development
634- docker push ${LEGACYIMAGE}:${META_TAG}
635- docker push ${LEGACYIMAGE}:arm32v7-development
636- docker push ${LEGACYIMAGE}:arm64v8-development
637- done
638- '''
594+ retry(5 ) {
595+ sh ''' #! /bin/bash
596+ set -e
597+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
598+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
599+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
600+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
601+ if [ "${CI}" == "false" ]; then
602+ docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
603+ docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
604+ docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
605+ docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
606+ fi
607+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
608+ docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
609+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
610+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
611+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-development
612+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-development
613+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-development
614+ docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
615+ docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
616+ docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
617+ docker push ${MANIFESTIMAGE}:amd64-development
618+ docker push ${MANIFESTIMAGE}:arm32v7-development
619+ docker push ${MANIFESTIMAGE}:arm64v8-development
620+ docker manifest push --purge ${MANIFESTIMAGE}:development || :
621+ docker manifest create ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm32v7-development ${MANIFESTIMAGE}:arm64v8-development
622+ docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm32v7-development --os linux --arch arm
623+ docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm64v8-development --os linux --arch arm64 --variant v8
624+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
625+ docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
626+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
627+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
628+ docker manifest push --purge ${MANIFESTIMAGE}:development
629+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
630+ done
631+ for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
632+ docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
633+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
634+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
635+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:development
636+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
637+ docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-development
638+ docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-development
639+ docker push ${LEGACYIMAGE}:amd64-${META_TAG}
640+ docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
641+ docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
642+ docker push ${LEGACYIMAGE}:development
643+ docker push ${LEGACYIMAGE}:${META_TAG}
644+ docker push ${LEGACYIMAGE}:arm32v7-development
645+ docker push ${LEGACYIMAGE}:arm64v8-development
646+ done
647+ '''
648+ }
639649 sh ''' #! /bin/bash
640650 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
641651 docker rmi \
0 commit comments