since early 2020 we have been using the drone/agent container image, but it appears to be over a year old now. The docs don’t even mention an “agent”, just “runners”
The agent image was deprecated back in 2019 in favor of drone-runner-docker. The reason for this change was because Drone now supports multiple types of runners, each capable of executing pipelines on different target environments (i.e. docker, kubernetes, macstadium, etc).
The drone/drone-runner-docker image appears to have been updated today for the platform tags (windows-1809-amd64, linux-arm, linux-amd64, etc), but the version tags (1.6, 1) are still 25 days old.
Every time we push to master we build and publish an unstable release for each supported os and architecture:
- linux-amd64
- linux-arm
- linux-arm64
- windows-1809-amd64
- windows-1904-amd64
Once these images are published we create and publish a docker manifest for :latest so that when you docker pull the :latest tag, it points to the latest os and architecture specific images (above).
When we tag a release, we publish multiple images as well. For example, when we tag 1.6.0 it results in the following images:
- 1.6.0-linux-amd64
- 1.6.0-linux-arm
- 1.6.0-linux-arm64
- 1.6.0-windows-1809-amd64
- 1.6.0-windows-1904-amd64
We then create a docker manifest that points 1
, 1.6
and 1.6.0
to the above os and architecture-specific images.
Should we simply be using the platform tag (linux-amd64 in our case)?
We recommend using drone/drone-runner-docker:1
which will always pull the latest stable release for your host platform.
Will the version tags be updated at some point?
We periodically create a tagged release once we have had a chance to test the unstable build. There is no specific cadence here. We tag a release when we feel comfortable with the features and we are happy with the quality and testing.