CI: Fix drone docker publish (#91204)
* $debug -> $$debug
* use bash instead of sh
* Update publish_images.star
* Install bash in the docker/docker image
* buildifier
(cherry picked from commit bee678da94)
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
This commit is contained in:
co-authored by
Kevin Minehart
parent
c16e1828a3
commit
850eaa109d
+69
-41
@@ -2569,26 +2569,40 @@ steps:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
- commands:
|
||||
- "\n debug=\n if [[ -n $${DRY_RUN} ]]; then debug=echo; fi\n docker login
|
||||
-u $${DOCKER_USER} -p $${DOCKER_PASSWORD}\n\n # Push the grafana-image-tags
|
||||
images\n $debug docker push grafana/grafana-image-tags:$${TAG}-amd64\n $debug
|
||||
docker push grafana/grafana-image-tags:$${TAG}-arm64\n $debug docker push grafana/grafana-image-tags:$${TAG}-armv7\n
|
||||
\ $debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64\n $debug
|
||||
docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64\n $debug docker
|
||||
push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n # Create the grafana
|
||||
manifests\n $debug docker manifest create grafana/grafana:${TAG} grafana/grafana-image-tags:$${TAG}-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7\n\n
|
||||
\ $debug docker manifest create grafana/grafana:${TAG}-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n
|
||||
\ # Push the grafana manifests\n $debug docker manifest push grafana/grafana:$${TAG}\n
|
||||
\ $debug docker manifest push grafana/grafana:$${TAG}-ubuntu\n\n # if LATEST
|
||||
is set, then also create & push latest\n if [[ -n $${LATEST} ]]; then\n $debug
|
||||
docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${TAG}-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7\n
|
||||
\ $debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n
|
||||
\ $debug docker manifest push grafana/grafana:latest\n $debug docker
|
||||
manifest push grafana/grafana:latest-ubuntu\n\n fi\n "
|
||||
- apk add bash
|
||||
- |2-
|
||||
|
||||
bash -c '
|
||||
debug=
|
||||
if [[ -n $${DRY_RUN} ]]; then debug=echo; fi
|
||||
docker login -u $${DOCKER_USER} -p $${DOCKER_PASSWORD}
|
||||
|
||||
# Push the grafana-image-tags images
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Create the grafana manifests
|
||||
$$debug docker manifest create grafana/grafana:${TAG} grafana/grafana-image-tags:$${TAG}-amd64 grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7
|
||||
|
||||
$$debug docker manifest create grafana/grafana:${TAG}-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Push the grafana manifests
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}-ubuntu
|
||||
|
||||
# if LATEST is set, then also create & push latest
|
||||
if [[ -n $${LATEST} ]]; then
|
||||
$$debug docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${TAG}-amd64 grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$$debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
$$debug docker manifest push grafana/grafana:latest
|
||||
$$debug docker manifest push grafana/grafana:latest-ubuntu
|
||||
|
||||
fi'
|
||||
depends_on:
|
||||
- fetch-images
|
||||
environment:
|
||||
@@ -2686,26 +2700,40 @@ steps:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
- commands:
|
||||
- "\n debug=\n if [[ -n $${DRY_RUN} ]]; then debug=echo; fi\n docker login
|
||||
-u $${DOCKER_USER} -p $${DOCKER_PASSWORD}\n\n # Push the grafana-image-tags
|
||||
images\n $debug docker push grafana/grafana-image-tags:$${TAG}-amd64\n $debug
|
||||
docker push grafana/grafana-image-tags:$${TAG}-arm64\n $debug docker push grafana/grafana-image-tags:$${TAG}-armv7\n
|
||||
\ $debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64\n $debug
|
||||
docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64\n $debug docker
|
||||
push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n # Create the grafana
|
||||
manifests\n $debug docker manifest create grafana/grafana:${TAG} grafana/grafana-image-tags:$${TAG}-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7\n\n
|
||||
\ $debug docker manifest create grafana/grafana:${TAG}-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n
|
||||
\ # Push the grafana manifests\n $debug docker manifest push grafana/grafana:$${TAG}\n
|
||||
\ $debug docker manifest push grafana/grafana:$${TAG}-ubuntu\n\n # if LATEST
|
||||
is set, then also create & push latest\n if [[ -n $${LATEST} ]]; then\n $debug
|
||||
docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${TAG}-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7\n
|
||||
\ $debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
\ grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7\n\n
|
||||
\ $debug docker manifest push grafana/grafana:latest\n $debug docker
|
||||
manifest push grafana/grafana:latest-ubuntu\n\n fi\n "
|
||||
- apk add bash
|
||||
- |2-
|
||||
|
||||
bash -c '
|
||||
debug=
|
||||
if [[ -n $${DRY_RUN} ]]; then debug=echo; fi
|
||||
docker login -u $${DOCKER_USER} -p $${DOCKER_PASSWORD}
|
||||
|
||||
# Push the grafana-image-tags images
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Create the grafana manifests
|
||||
$$debug docker manifest create grafana/grafana:${TAG} grafana/grafana-image-tags:$${TAG}-amd64 grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7
|
||||
|
||||
$$debug docker manifest create grafana/grafana:${TAG}-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Push the grafana manifests
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}-ubuntu
|
||||
|
||||
# if LATEST is set, then also create & push latest
|
||||
if [[ -n $${LATEST} ]]; then
|
||||
$$debug docker manifest create grafana/grafana:latest grafana/grafana-image-tags:$${TAG}-amd64 grafana/grafana-image-tags:$${TAG}-arm64 grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$$debug docker manifest create grafana/grafana:latest-ubuntu grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
$$debug docker manifest push grafana/grafana:latest
|
||||
$$debug docker manifest push grafana/grafana:latest-ubuntu
|
||||
|
||||
fi'
|
||||
depends_on:
|
||||
- fetch-images
|
||||
environment:
|
||||
@@ -5116,6 +5144,6 @@ kind: secret
|
||||
name: gcr_credentials
|
||||
---
|
||||
kind: signature
|
||||
hmac: da36d2b066dc30154a3ff1d8a3a643ac46b9e2c871f0d43d4104899d88ab6d58
|
||||
hmac: 575ce271cc87b6db1ac6ce4962d97b67f842bfc656774c4065b0096ffbb93f12
|
||||
|
||||
...
|
||||
|
||||
@@ -30,49 +30,49 @@ def publish_image_public_step():
|
||||
A drone step which publishes Docker images for a public release.
|
||||
"""
|
||||
command = """
|
||||
bash -c '
|
||||
debug=
|
||||
if [[ -n $${DRY_RUN} ]]; then debug=echo; fi
|
||||
docker login -u $${DOCKER_USER} -p $${DOCKER_PASSWORD}
|
||||
|
||||
# Push the grafana-image-tags images
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-amd64
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-arm64
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64
|
||||
$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-amd64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-arm64
|
||||
$$debug docker push grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Create the grafana manifests
|
||||
$debug docker manifest create grafana/grafana:${TAG} \
|
||||
$$debug docker manifest create grafana/grafana:${TAG} \
|
||||
grafana/grafana-image-tags:$${TAG}-amd64 \
|
||||
grafana/grafana-image-tags:$${TAG}-arm64 \
|
||||
grafana/grafana-image-tags:$${TAG}-armv7
|
||||
|
||||
$debug docker manifest create grafana/grafana:${TAG}-ubuntu \
|
||||
$$debug docker manifest create grafana/grafana:${TAG}-ubuntu \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
# Push the grafana manifests
|
||||
$debug docker manifest push grafana/grafana:$${TAG}
|
||||
$debug docker manifest push grafana/grafana:$${TAG}-ubuntu
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}
|
||||
$$debug docker manifest push grafana/grafana:$${TAG}-ubuntu
|
||||
|
||||
# if LATEST is set, then also create & push latest
|
||||
if [[ -n $${LATEST} ]]; then
|
||||
$debug docker manifest create grafana/grafana:latest \
|
||||
$$debug docker manifest create grafana/grafana:latest \
|
||||
grafana/grafana-image-tags:$${TAG}-amd64 \
|
||||
grafana/grafana-image-tags:$${TAG}-arm64 \
|
||||
grafana/grafana-image-tags:$${TAG}-armv7
|
||||
$debug docker manifest create grafana/grafana:latest-ubuntu \
|
||||
$$debug docker manifest create grafana/grafana:latest-ubuntu \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-amd64 \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-arm64 \
|
||||
grafana/grafana-image-tags:$${TAG}-ubuntu-armv7
|
||||
|
||||
$debug docker manifest push grafana/grafana:latest
|
||||
$debug docker manifest push grafana/grafana:latest-ubuntu
|
||||
$$debug docker manifest push grafana/grafana:latest
|
||||
$$debug docker manifest push grafana/grafana:latest-ubuntu
|
||||
|
||||
fi
|
||||
"""
|
||||
fi'"""
|
||||
return {
|
||||
"environment": {
|
||||
"DOCKER_USER": from_secret("docker_username"),
|
||||
@@ -81,7 +81,10 @@ def publish_image_public_step():
|
||||
"name": "publish-images-grafana",
|
||||
"image": images["docker"],
|
||||
"depends_on": ["fetch-images"],
|
||||
"commands": [command],
|
||||
"commands": [
|
||||
"apk add bash",
|
||||
command,
|
||||
],
|
||||
"volumes": [{"name": "docker", "path": "/var/run/docker.sock"}],
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user