@@ -357,7 +357,9 @@ pipeline {
357357 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
358358 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
359359 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
360- sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
360+ retry(5 ) {
361+ sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
362+ }
361363 sh ''' docker rmi \
362364 ${IMAGE}:arm32v7-${META_TAG} \
363365 lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -384,7 +386,9 @@ pipeline {
384386 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
385387 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
386388 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
387- sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
389+ retry(5 ) {
390+ sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
391+ }
388392 sh ''' docker rmi \
389393 ${IMAGE}:arm64v8-${META_TAG} \
390394 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -549,18 +553,22 @@ pipeline {
549553 passwordVariable : ' QUAYPASS'
550554 ]
551555 ]) {
556+ retry(5 ) {
557+ sh ''' #! /bin/bash
558+ set -e
559+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
560+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
561+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
562+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
563+ for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
564+ docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
565+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
566+ docker push ${PUSHIMAGE}:latest
567+ docker push ${PUSHIMAGE}:${META_TAG}
568+ done
569+ '''
570+ }
552571 sh ''' #! /bin/bash
553- set -e
554- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
555- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
556- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
557- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
558- for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
559- docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
560- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
561- docker push ${PUSHIMAGE}:latest
562- docker push ${PUSHIMAGE}:${META_TAG}
563- done
564572 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
565573 docker rmi \
566574 ${DELETEIMAGE}:${META_TAG} \
@@ -591,59 +599,61 @@ pipeline {
591599 passwordVariable : ' QUAYPASS'
592600 ]
593601 ]) {
594- sh ''' #! /bin/bash
595- set -e
596- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
597- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
598- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
599- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
600- if [ "${CI}" == "false" ]; then
601- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
602- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
603- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
604- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
605- fi
606- for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
607- docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
608- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
609- docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
610- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
611- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
612- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
613- docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
614- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
615- docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
616- docker push ${MANIFESTIMAGE}:amd64-latest
617- docker push ${MANIFESTIMAGE}:arm32v7-latest
618- docker push ${MANIFESTIMAGE}:arm64v8-latest
619- docker manifest push --purge ${MANIFESTIMAGE}:latest || :
620- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
621- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
622- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
623- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
624- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
625- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
626- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
627- docker manifest push --purge ${MANIFESTIMAGE}:latest
628- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
629- done
630- for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
631- docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
632- docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
633- docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
634- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
635- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
636- docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
637- docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
638- docker push ${LEGACYIMAGE}:amd64-${META_TAG}
639- docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
640- docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
641- docker push ${LEGACYIMAGE}:latest
642- docker push ${LEGACYIMAGE}:${META_TAG}
643- docker push ${LEGACYIMAGE}:arm32v7-latest
644- docker push ${LEGACYIMAGE}:arm64v8-latest
645- done
646- '''
602+ retry(5 ) {
603+ sh ''' #! /bin/bash
604+ set -e
605+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
606+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
607+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
608+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
609+ if [ "${CI}" == "false" ]; then
610+ docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
611+ docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
612+ docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
613+ docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
614+ fi
615+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
616+ docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
617+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
618+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
619+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
620+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
621+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
622+ docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
623+ docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
624+ docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
625+ docker push ${MANIFESTIMAGE}:amd64-latest
626+ docker push ${MANIFESTIMAGE}:arm32v7-latest
627+ docker push ${MANIFESTIMAGE}:arm64v8-latest
628+ docker manifest push --purge ${MANIFESTIMAGE}:latest || :
629+ docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
630+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
631+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
632+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
633+ docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
634+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
635+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
636+ docker manifest push --purge ${MANIFESTIMAGE}:latest
637+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
638+ done
639+ for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
640+ docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
641+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
642+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
643+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
644+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
645+ docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
646+ docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
647+ docker push ${LEGACYIMAGE}:amd64-${META_TAG}
648+ docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
649+ docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
650+ docker push ${LEGACYIMAGE}:latest
651+ docker push ${LEGACYIMAGE}:${META_TAG}
652+ docker push ${LEGACYIMAGE}:arm32v7-latest
653+ docker push ${LEGACYIMAGE}:arm64v8-latest
654+ done
655+ '''
656+ }
647657 sh ''' #! /bin/bash
648658 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
649659 docker rmi \
0 commit comments