@@ -345,7 +345,9 @@ pipeline {
345345 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
346346 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
347347 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
348- sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
348+ retry(5 ) {
349+ sh " docker push lsiodev/buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
350+ }
349351 sh ''' docker rmi \
350352 ${IMAGE}:arm32v7-${META_TAG} \
351353 lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -372,7 +374,9 @@ pipeline {
372374 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
373375 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
374376 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
375- sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
377+ retry(5 ) {
378+ sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
379+ }
376380 sh ''' docker rmi \
377381 ${IMAGE}:arm64v8-${META_TAG} \
378382 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
@@ -537,18 +541,22 @@ pipeline {
537541 passwordVariable : ' QUAYPASS'
538542 ]
539543 ]) {
544+ retry(5 ) {
545+ sh ''' #! /bin/bash
546+ set -e
547+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
548+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
549+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
550+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
551+ for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
552+ docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
553+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
554+ docker push ${PUSHIMAGE}:latest
555+ docker push ${PUSHIMAGE}:${META_TAG}
556+ done
557+ '''
558+ }
540559 sh ''' #! /bin/bash
541- set -e
542- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
543- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
544- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
545- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
546- for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
547- docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
548- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
549- docker push ${PUSHIMAGE}:latest
550- docker push ${PUSHIMAGE}:${META_TAG}
551- done
552560 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
553561 docker rmi \
554562 ${DELETEIMAGE}:${META_TAG} \
@@ -579,59 +587,61 @@ pipeline {
579587 passwordVariable : ' QUAYPASS'
580588 ]
581589 ]) {
582- sh ''' #! /bin/bash
583- set -e
584- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
585- echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
586- echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
587- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
588- if [ "${CI}" == "false" ]; then
589- docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
590- docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
591- docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
592- docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
593- fi
594- for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
595- docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
596- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
597- docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
598- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
599- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
600- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
601- docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
602- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
603- docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
604- docker push ${MANIFESTIMAGE}:amd64-latest
605- docker push ${MANIFESTIMAGE}:arm32v7-latest
606- docker push ${MANIFESTIMAGE}:arm64v8-latest
607- docker manifest push --purge ${MANIFESTIMAGE}:latest || :
608- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
609- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
610- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
611- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
612- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
613- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
614- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
615- docker manifest push --purge ${MANIFESTIMAGE}:latest
616- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
617- done
618- for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
619- docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
620- docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
621- docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
622- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
623- docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
624- docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
625- docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
626- docker push ${LEGACYIMAGE}:amd64-${META_TAG}
627- docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
628- docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
629- docker push ${LEGACYIMAGE}:latest
630- docker push ${LEGACYIMAGE}:${META_TAG}
631- docker push ${LEGACYIMAGE}:arm32v7-latest
632- docker push ${LEGACYIMAGE}:arm64v8-latest
633- done
634- '''
590+ retry(5 ) {
591+ sh ''' #! /bin/bash
592+ set -e
593+ echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
594+ echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
595+ echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
596+ echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
597+ if [ "${CI}" == "false" ]; then
598+ docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
599+ docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
600+ docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
601+ docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
602+ fi
603+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
604+ docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
605+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
606+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
607+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
608+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
609+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
610+ docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
611+ docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
612+ docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
613+ docker push ${MANIFESTIMAGE}:amd64-latest
614+ docker push ${MANIFESTIMAGE}:arm32v7-latest
615+ docker push ${MANIFESTIMAGE}:arm64v8-latest
616+ docker manifest push --purge ${MANIFESTIMAGE}:latest || :
617+ docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
618+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
619+ docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
620+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
621+ docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
622+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
623+ docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
624+ docker manifest push --purge ${MANIFESTIMAGE}:latest
625+ docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
626+ done
627+ for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
628+ docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
629+ docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
630+ docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
631+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
632+ docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
633+ docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
634+ docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
635+ docker push ${LEGACYIMAGE}:amd64-${META_TAG}
636+ docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
637+ docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
638+ docker push ${LEGACYIMAGE}:latest
639+ docker push ${LEGACYIMAGE}:${META_TAG}
640+ docker push ${LEGACYIMAGE}:arm32v7-latest
641+ docker push ${LEGACYIMAGE}:arm64v8-latest
642+ done
643+ '''
644+ }
635645 }
636646 }
637647 }
0 commit comments