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)
# Conflicts:
# .drone.yml
This commit is contained in:
+69
-41
@@ -2672,26 +2672,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:
|
||||
@@ -2789,26 +2803,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:
|
||||
@@ -5323,6 +5351,6 @@ kind: secret
|
||||
name: gcr_credentials
|
||||
---
|
||||
kind: signature
|
||||
hmac: f81095a620e0dcfb639533c375755ab430c08eaa2043ac990f573965e971ed75
|
||||
hmac: faa6a717a8a8140633e39cefbd43432d1121392ac118cefb3985395857868889
|
||||
|
||||
...
|
||||
|
||||
@@ -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