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.
" When the event type is push and the target branch is your default branch (e.g. master) the plugin will automatically tag the image as latest . All other event types and branches are ignored."
Imho there is “latest” missing. Even with a tag like “latest-linux-amd64” it would not be the desired result.
What is the goal:
Be able to pull the image by refering to “latest” and get the right image for the right os:
e. g. “docker pull test”
on an amd64 machine should pull the amd-64 image
on an arm64 machine should pull the arm-64 image
What have i tried:
remove the “auto_tag_suffix” statement → the last published image overwrites the others
added the full path to my registry in the plugin/manifest section:
target: 192.168.178.39:5000/sf/test:latest
template: 192.168.178.39:5000/sf/test:latest-OS-ARCH
→ manifest plugin cant find the referenced images and doesnt publish a manifest cuz there are no image entries
Tried with auto_tag and the path mentioned in 2. → cant find or access image
Tried with auto_tag but only put the full path in “target” → cant find or access image
I took a look at the .drone.yml in the drone github repository but it is using a specs file and i would like to avoid this and in the begining only build new “latest” images
removed “auto_tag” and “auto_tag_suffix”, added “tags: - latest-linux-amd64” with the full path in the plugin/manifest like 4. → cant find or access image
removed “auto_tag” and “auto_tag_suffix”, added “tags: - latest-linux-amd64” without the full path, only: sf/test → cant find or access image
nearly every variant of the mentioned above steps
Im pretty sure that this somehow possible and it looks like other people make it work because i couldnt find any thread related to this. The documentation doesnt provide enough information, at least for me, to understand what i’m doing wrong and whats the solution.
Is it possible to use the manifest plugin with an private registry?
How can i figure out why the manifest/plugin doesnt find the fresh build images?
Is “target” in the manifest plugin refering to the full path to the registry: 192.168.178.39:5000/sf/test:latest
Why is there no “latest” in the tag for the fresh build image
How can i build several images for different platforms, and publish them all together under “latest”
I’m grateful for any hints I feel like i hit a dead end
I have tested with docker private repo and can see all three architecture is pushed under latest tag with diffrent OS/ARCH, I am not sure on private registry that I need to check and confirm.
I have used dockerhub-username/dockerrepo in target.
Below is the yaml file used by me:
kind: pipeline
type: kubernetes
name: default
Could you provide me the full yaml file? In the file above there is only the manifest plugin mentioned?
Maybe a basic example with the docker plugin in combination with the manifest plugin?
My other solution is to give my builds static tags in the builder and reference in my compose file where i want these images to run with the full tag. Thats my last resort