Merge pull request #5565 from danfengliu/upload-velero-image-to-gcs
Upload Velero build package saved from build image to Google cloud st…pull/5572/head
commit
7ea1e93849
|
@ -51,7 +51,7 @@ jobs:
|
||||||
- name: Build Velero Image
|
- name: Build Velero Image
|
||||||
if: steps.image-cache.outputs.cache-hit != 'true'
|
if: steps.image-cache.outputs.cache-hit != 'true'
|
||||||
run: |
|
run: |
|
||||||
IMAGE=velero VERSION=pr-test make container
|
SAVE_IMAGE=false IMAGE=velero VERSION=pr-test make container
|
||||||
docker save velero:pr-test -o ./velero.tar
|
docker save velero:pr-test -o ./velero.tar
|
||||||
# Run E2E test against all kubernetes versions on kind
|
# Run E2E test against all kubernetes versions on kind
|
||||||
run-e2e-test:
|
run-e2e-test:
|
||||||
|
|
|
@ -21,8 +21,14 @@ jobs:
|
||||||
go-version: 1.18
|
go-version: 1.18
|
||||||
id: go
|
id: go
|
||||||
|
|
||||||
- name: Check out code into the Go module directory
|
- uses: actions/checkout@v3
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
- uses: google-github-actions/setup-gcloud@v0
|
||||||
|
with:
|
||||||
|
version: '285.0.0'
|
||||||
|
service_account_key: ${{ secrets.GCP_SA_KEY }}
|
||||||
|
export_default_credentials: true
|
||||||
|
- run: gcloud info
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
id: qemu
|
id: qemu
|
||||||
|
@ -53,8 +59,29 @@ jobs:
|
||||||
- name: Publish container image
|
- name: Publish container image
|
||||||
if: github.repository == 'vmware-tanzu/velero'
|
if: github.repository == 'vmware-tanzu/velero'
|
||||||
run: |
|
run: |
|
||||||
|
# Build and push Velero image to docker registry
|
||||||
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
|
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASSWORD }}
|
||||||
./hack/docker-push.sh
|
VERSION=$(./hack/docker-push.sh | grep 'VERSION:' | awk -F: '{print $2}' | xargs)
|
||||||
|
|
||||||
|
# Upload Velero image package to GCS
|
||||||
|
source hack/ci/build_util.sh
|
||||||
|
BIN=velero
|
||||||
|
RESTORE_HELPER_BIN=velero-restore-helper
|
||||||
|
GCS_BUCKET=velero-builds
|
||||||
|
VELERO_IMAGE=${BIN}-${VERSION}
|
||||||
|
VELERO_RESTORE_HELPER_IMAGE=${RESTORE_HELPER_BIN}-${VERSION}
|
||||||
|
VELERO_IMAGE_FILE=${VELERO_IMAGE}.tar.gz
|
||||||
|
VELERO_RESTORE_HELPER_IMAGE_FILE=${VELERO_RESTORE_HELPER_IMAGE}.tar.gz
|
||||||
|
VELERO_IMAGE_BACKUP_FILE=${VELERO_IMAGE}-'build.'${GITHUB_RUN_NUMBER}.tar.gz
|
||||||
|
VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE=${VELERO_RESTORE_HELPER_IMAGE}-'build.'${GITHUB_RUN_NUMBER}.tar.gz
|
||||||
|
|
||||||
|
cp ${VELERO_IMAGE_FILE} ${VELERO_IMAGE_BACKUP_FILE}
|
||||||
|
cp ${VELERO_RESTORE_HELPER_IMAGE_FILE} ${VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE}
|
||||||
|
|
||||||
|
uploader ${VELERO_IMAGE_FILE} ${GCS_BUCKET}
|
||||||
|
uploader ${VELERO_RESTORE_HELPER_IMAGE_FILE} ${GCS_BUCKET}
|
||||||
|
uploader ${VELERO_IMAGE_BACKUP_FILE} ${GCS_BUCKET}
|
||||||
|
uploader ${VELERO_RESTORE_HELPER_IMAGE_BACKUP_FILE} ${GCS_BUCKET}
|
||||||
|
|
||||||
# Use the JSON key in secret to login gcr.io
|
# Use the JSON key in secret to login gcr.io
|
||||||
- uses: 'docker/login-action@v1'
|
- uses: 'docker/login-action@v1'
|
||||||
|
|
6
Makefile
6
Makefile
|
@ -64,6 +64,7 @@ VERSION ?= main
|
||||||
|
|
||||||
TAG_LATEST ?= false
|
TAG_LATEST ?= false
|
||||||
|
|
||||||
|
SAVE_IMAGE ?= true
|
||||||
ifeq ($(TAG_LATEST), true)
|
ifeq ($(TAG_LATEST), true)
|
||||||
IMAGE_TAGS ?= $(IMAGE):$(VERSION) $(IMAGE):latest
|
IMAGE_TAGS ?= $(IMAGE):$(VERSION) $(IMAGE):latest
|
||||||
else
|
else
|
||||||
|
@ -209,6 +210,11 @@ endif
|
||||||
--build-arg=RESTIC_VERSION=$(RESTIC_VERSION) \
|
--build-arg=RESTIC_VERSION=$(RESTIC_VERSION) \
|
||||||
-f $(VELERO_DOCKERFILE) .
|
-f $(VELERO_DOCKERFILE) .
|
||||||
@echo "container: $(IMAGE):$(VERSION)"
|
@echo "container: $(IMAGE):$(VERSION)"
|
||||||
|
ifeq ($(SAVE_IMAGE), true)
|
||||||
|
@docker pull $(IMAGE):$(VERSION)
|
||||||
|
@docker save $(IMAGE):$(VERSION) -o $(BIN)-$(VERSION).tar
|
||||||
|
@gzip $(BIN)-$(VERSION).tar
|
||||||
|
endif
|
||||||
|
|
||||||
SKIP_TESTS ?=
|
SKIP_TESTS ?=
|
||||||
test: build-dirs
|
test: build-dirs
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -x
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
function uploader {
|
||||||
|
gsutil cp $1 gs://$2/$1
|
||||||
|
gsutil -D setacl public-read gs://$2/$1 &> /dev/null
|
||||||
|
}
|
Loading…
Reference in New Issue