Greetings everyone!
Im trying to setup the drone manifest plugin:
Unfortunately i couldnt make if work. Im sure im missing some really simple steps or thinks i didnt understand correctly.
Im building 3 Images for different architectures and then i want to publish an manifest containing those to my registry.
My pipeline looks like this:
kind: pipeline
type: docker
name: build-arm64
platform:
os: linux
arch: arm64
steps:
- name: install and build
image: node:14
pull: if-not-exists
commands:
- npm install
- npm run build
- name: build docker image
image: plugins/docker
pull: if-not-exists
settings:
tags: latest
auto_tag_suffix: linux-arm64
auto_tag: true
insecure: true
dockerfile: docker/Dockerfile
repo: 192.168.178.39:5000/sf/test
registry: 192.168.178.39:5000
---
kind: pipeline
type: docker
name: build-arm32
platform:
os: linux
arch: arm
steps:
- name: install and build
image: node:14
pull: if-not-exists
commands:
- npm install
- npm run build
- name: build docker image
image: plugins/docker
pull: if-not-exists
settings:
tags: latest
auto_tag_suffix: linux-arm
auto_tag: true
insecure: true
dockerfile: docker/Dockerfile
repo: 192.168.178.39:5000/sf/test
registry: 192.168.178.39:5000
---
kind: pipeline
type: docker
name: build-amd64
platform:
os: linux
arch: amd64
steps:
- name: install and build
image: node:14
pull: if-not-exists
commands:
- npm install
- npm run build
- name: build docker image
image: plugins/docker
pull: if-not-exists
settings:
tags: latest
auto_tag_suffix: linux-amd64
auto_tag: true
insecure: true
dockerfile: docker/Dockerfile
repo: 192.168.178.39:5000/sf/test
registry: 192.168.178.39:5000
---
kind: pipeline
type: docker
name: manifest
platform:
os: linux
arch: arm64
steps:
- name: manifest
image: plugins/manifest
settings:
target: sf/test:latest
template: sf/test:latest-OS-ARCH
ignore_missing: true
platforms:
- linux/amd64
- linux/arm64
- linux/arm
depends_on:
- build-arm64
- build-arm32
- build-amd64
What do i expect the pipeline to do:
- Build 3 Docker images ← working
- Tag them like this “user/project:latest-ARCH-OS” e.g. “sf/test:lastest-linux-arm64”
- Create an manifest containing those 3 Images
- Push everything to my private registry
Error description:
latest: Pulling from plugins/manifest
2 Digest: sha256:05930eefaba35a6f1a4225b3ce2cbb6a71ed31d02995d83e49c8b4ec4a3e78a7
3 Status: Image is up to date for plugins/manifest:latest
4 2021/03/25 17:58:13 pushing sf/test:latest-OS-ARCH to sf/test:latest for linux/amd64, linux/arm64, linux/arm
5 time="2021-03-25T17:58:15Z" level=warning msg="Couldn't find or access image reference \"sf/test:latest-linux-amd64\". Skipping image."
6 time="2021-03-25T17:58:18Z" level=warning msg="Couldn't find or access image reference \"sf/test:latest-linux-arm64\". Skipping image."
7 time="2021-03-25T17:58:20Z" level=warning msg="Couldn't find or access image reference \"sf/test:latest-linux-arm\". Skipping image."
8 time="2021-03-25T17:58:20Z" level=fatal msg="all entries were skipped due to missing source image references; no manifest list to push"
9 2021/03/25 17:58:20 exit status 1
It looks like the plugin cant find the created images and i dont understand why.
Is it because the tag is wrong or are there restrictions and the plugin cant access the images?
The documentation is pretty small and i couldnt find any threads related to this on SO.
If someone had similar problems or can provide me with an basic example would be great. Any help would be appreciated.
Thank you very much