Initial commit
This commit is contained in:
commit
4dc067cec0
9
README.md
Normal file
9
README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Multiarch Docker image build pipeline
|
||||
|
||||
Include this repository as `.woodpecker` submodule in your Git repository
|
||||
|
||||
This pipeline follows some patterns:
|
||||
|
||||
* All images are built multiarch amd64 and arm64 both
|
||||
* Image names are consistently mapped between Git repo and Harbor, so
|
||||
git.k-space.ee/foo/bar becomes harbor.k-space.ee/foo/bar
|
28
build.yaml
Normal file
28
build.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
matrix:
|
||||
ARCH:
|
||||
- amd64
|
||||
- arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: woodpeckerci/plugin-kaniko
|
||||
backend_options:
|
||||
kubernetes:
|
||||
nodeSelector:
|
||||
kubernetes.io/arch: ${ARCH}
|
||||
tolerations:
|
||||
- key: arch
|
||||
operator: Equal
|
||||
value: ${ARCH}
|
||||
effect: NoSchedule
|
||||
settings:
|
||||
repo: ${CI_REPO}
|
||||
registry: harbor.k-space.ee
|
||||
tags: latest-${ARCH}
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
from_secret: docker_password
|
||||
when:
|
||||
- branch: master
|
30
manifest.yaml
Normal file
30
manifest.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
skip_clone: true
|
||||
|
||||
steps:
|
||||
- name: manifest
|
||||
image: mirror.gcr.io/mplatform/manifest-tool:alpine-v2.1.6
|
||||
secrets:
|
||||
- docker_username
|
||||
- docker_password
|
||||
commands:
|
||||
- |
|
||||
cat << EOF > spec.yaml
|
||||
image: "harbor.k-space.ee/${CI_REPO}:latest"
|
||||
manifests:
|
||||
- image: "harbor.k-space.ee/${CI_REPO}:latest-amd64"
|
||||
platform:
|
||||
architecture: amd64
|
||||
os: linux
|
||||
- image: "harbor.k-space.ee/${CI_REPO}:latest-arm64"
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
EOF
|
||||
- /manifest-tool --username $docker_username --password $docker_password push from-spec spec.yaml > stdout
|
||||
- cat stdout
|
||||
when:
|
||||
- branch: master
|
||||
|
||||
depends_on:
|
||||
- build
|
Loading…
Reference in New Issue
Block a user