mirror of
https://github.com/k8snetworkplumbingwg/multus-cni.git
synced 2025-06-28 16:46:52 +00:00
Support container multi architecture image with manifest
This commit is contained in:
parent
c534b7d364
commit
dfd19e5b10
77
.travis.yml
77
.travis.yml
@ -3,22 +3,28 @@ language: go
|
|||||||
# see https://docs.travis-ci.com/user/reference/overview/#Virtualization-environments
|
# see https://docs.travis-ci.com/user/reference/overview/#Virtualization-environments
|
||||||
# for the detail
|
# for the detail
|
||||||
# sudo: requried
|
# sudo: requried
|
||||||
dist: trusty
|
dist: bionic
|
||||||
|
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.12.x
|
- 1.13.x
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- GO111MODULE=on
|
- GO111MODULE=on
|
||||||
- REGISTRY_USER=${REGISTRY_USER}
|
- REGISTRY_USER=${REGISTRY_USER:-nfvpe}
|
||||||
- REGISTRY_PASS=${REGISTRY_PASS}
|
- REGISTRY_PASS=${REGISTRY_PASS}
|
||||||
|
- REPOSITORY_NAME=${REPOSITORY_NAME}
|
||||||
|
- DOCKER_CLI_EXPERIMENTAL="enabled"
|
||||||
- secure: "${REGISTRY_SECURE}"
|
- secure: "${REGISTRY_SECURE}"
|
||||||
jobs:
|
jobs:
|
||||||
- TARGET=amd64
|
- TARGET=amd64
|
||||||
- TARGET=ppc64le
|
- TARGET=ppc64le
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
|
- if [ "${REPOSITORY_NAME}" = "" ]; then export REPOSITORY_NAME=multus; fi
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
- go get github.com/mattn/goveralls
|
- go get github.com/mattn/goveralls
|
||||||
|
|
||||||
@ -39,9 +45,9 @@ script:
|
|||||||
if [ "${TARGET}" == "amd64" ]; then
|
if [ "${TARGET}" == "amd64" ]; then
|
||||||
sudo env PATH=${PATH} ./test.sh
|
sudo env PATH=${PATH} ./test.sh
|
||||||
goveralls -coverprofile=coverage.out -service=travis-ci
|
goveralls -coverprofile=coverage.out -service=travis-ci
|
||||||
docker build -t nfvpe/multus:latest-amd64 .
|
docker build -t ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 .
|
||||||
docker build -t nfvpe/multus:latest-ppc64le -f Dockerfile.ppc64le .
|
docker build -t ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-ppc64le -f Dockerfile.ppc64le .
|
||||||
docker build -t nfvpe/multus-origin:latest -f Dockerfile.openshift .
|
docker build -t ${REGISTRY_USER}/${REPOSITORY_NAME}-origin:latest -f Dockerfile.openshift .
|
||||||
fi
|
fi
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
@ -58,39 +64,52 @@ deploy:
|
|||||||
cleanup: false
|
cleanup: false
|
||||||
script: >
|
script: >
|
||||||
bash -c '
|
bash -c '
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:latest;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:latest;
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:stable;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:stable;
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:stable-amd64;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-amd64;
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:$TRAVIS_TAG;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:$TRAVIS_TAG;
|
||||||
docker tag nfvpe/multus:latest-ppc64le nfvpe/multus:stable-ppc64le;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-ppc64le ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-ppc64le;
|
||||||
docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASS";
|
docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASS";
|
||||||
docker push nfvpe/multus:latest;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64;
|
||||||
docker push nfvpe/multus:latest-amd64;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-ppc64le;
|
||||||
docker push nfvpe/multus:latest-ppc64le;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:stable-amd64;
|
||||||
docker push nfvpe/multus:stable;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:stable-ppc64le;
|
||||||
docker push nfvpe/multus:stable-amd64;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:$TRAVIS_TAG;
|
||||||
docker push nfvpe/multus:stable-ppc64le;
|
export DOCKER_CLI_EXPERIMENTAL="enabled";
|
||||||
docker push nfvpe/multus:$TRAVIS_TAG;
|
docker manifest create ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-ppc64le;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-amd64 --arch amd64;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-ppc64le --arch ppc64le;
|
||||||
|
docker manifest push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest;
|
||||||
|
docker manifest create ${REGISTRY_USER}/${REPOSITORY_NAME}:stable ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-ppc64le;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:stable ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-amd64 --arch amd64;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:stable ${REGISTRY_USER}/${REPOSITRY_NAME}:stable-ppc64le --arch ppc64le;
|
||||||
|
docker manifest push ${REGISTRY_USER}/${REPOSITORY_NAME}:stable;
|
||||||
echo done'
|
echo done'
|
||||||
on:
|
on:
|
||||||
tags: true
|
tags: true
|
||||||
all_branches: true
|
all_branches: true
|
||||||
condition: "$TRAVIS_TAG =~ ^v[0-9].*$ && -n $REGISTRY_USER && -n $REGISTRY_PASS"
|
condition: "$TRAVIS_TAG =~ ^v[0-9].*$ && -n $REGISTRY_USER && -n $REGISTRY_PASS && -n $REPOSITORY_NAME"
|
||||||
# Push images to Dockerhub on merge to master
|
# Push images to Dockerhub on merge to master
|
||||||
- provider: script
|
- provider: script
|
||||||
on:
|
on:
|
||||||
branch: master
|
branch: master
|
||||||
condition: "-n $REGISTRY_USER && -n $REGISTRY_PASS"
|
condition: "-n $REGISTRY_USER && -n $REGISTRY_PASS && -n $REPOSITORY_NAME"
|
||||||
script: >
|
script: >
|
||||||
bash -c '
|
bash -c '
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:snapshot;
|
docker tag ${REGISTRY_USER}/:latest-amd64 ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot;
|
||||||
docker tag nfvpe/multus:latest-amd64 nfvpe/multus:snapshot-amd64;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-amd64;
|
||||||
docker tag nfvpe/multus:latest-ppc64le nfvpe/multus:snapshot-ppc64le;
|
docker tag ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-ppc64le ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-ppc64le;
|
||||||
docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASS";
|
docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASS";
|
||||||
docker push nfvpe/multus:snapshot;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot-amd64;
|
||||||
docker push nfvpe/multus:snapshot-amd64;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot-ppc64le;
|
||||||
docker push nfvpe/multus:snapshot-ppc64le;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-amd64;
|
||||||
docker push nfvpe/multus:latest;
|
docker push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest-ppc64le;
|
||||||
docker push nfvpe/multus:latest-amd64;
|
docker manifest create ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-ppc64le;
|
||||||
docker push nfvpe/multus:latest-ppc64le;
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-amd64 --arch amd64;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot ${REGISTRY_USER}/${REPOSITRY_NAME}:snapshot-ppc64le --arch ppc64le;
|
||||||
|
docker manifest push ${REGISTRY_USER}/${REPOSITORY_NAME}:snapshot;
|
||||||
|
docker manifest create ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-amd64 ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-ppc64le;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-amd64 --arch amd64;
|
||||||
|
docker manifest annotate ${REGISTRY_USER}/${REPOSITORY_NAME}:latest ${REGISTRY_USER}/${REPOSITRY_NAME}:latest-ppc64le --arch ppc64le;
|
||||||
|
docker manifest push ${REGISTRY_USER}/${REPOSITORY_NAME}:latest;
|
||||||
echo done'
|
echo done'
|
||||||
|
Loading…
Reference in New Issue
Block a user