Skip to content

Commit 4ef942d

Browse files
Push to Quay.io
Also refactors the `publish.sh` script to make it easier to run locally.
1 parent 911626b commit 4ef942d

File tree

3 files changed

+59
-15
lines changed

3 files changed

+59
-15
lines changed

.drone.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,27 @@ pipeline:
1414
image: docker:1.11
1515
environment:
1616
- DOCKER_HOST=tcp://127.0.0.1:2375
17+
- DOCKER_IMAGE=nginx-proxy
18+
- DOCKER_REPO=artifactory-internal.digital.homeoffice.gov.uk
19+
- DOCKER_BASEDIR=/
20+
- DOCKER_USERNAME=lev-web-robot
1721
commands:
18-
- ./publish.sh
22+
- docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}" "${DOCKER_REPO}"
23+
- ./publish.sh "ngx" "${DOCKER_REPO}${DOCKER_BASEDIR}${DOCKER_IMAGE}" "${DRONE_TAG}"
24+
when:
25+
event: tag
26+
27+
push_image_to_quay:
28+
image: docker:1.11
29+
environment:
30+
- DOCKER_HOST=tcp://127.0.0.1:2375
31+
- DOCKER_IMAGE=nginx-proxy
32+
- DOCKER_REPO=quay.io
33+
- DOCKER_BASEDIR=/ukhomeofficedigital/
34+
- DOCKER_USERNAME=ukhomeofficedigital+lev_builder
35+
commands:
36+
- docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_QUAY_PASSWORD}" "${DOCKER_REPO}"
37+
- ./publish.sh "ngx" "${DOCKER_REPO}${DOCKER_BASEDIR}${DOCKER_IMAGE}" "${DRONE_TAG}"
1938
when:
2039
event: tag
2140

.drone.yml.sig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CgogIGJ1aWxkX2ltYWdlOgogICAgaW1hZ2U6IHF1YXkuaW8vdWtob21lb2ZmaWNlZGlnaXRhbC9jZW50b3MtYmFzZTpsYXRlc3QKICAgIGVudmlyb25tZW50OgogICAgICAtIERPQ0tFUl9IT1NUPXRjcDovLzEyNy4wLjAuMToyMzc1CiAgICBjb21tYW5kczoKICAgICAgLSB5dW0gaW5zdGFsbCAteSAtcSBkb2NrZXIgb3BlbnNzbCB3Z2V0CiAgICAgIC0gLi9jaS1idWlsZC5zaAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFtwdWxsX3JlcXVlc3QsIHB1c2gsIHRhZ10KCiAgcHVzaF9pbWFnZToKICAgIGltYWdlOiBkb2NrZXI6MS4xMQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gRE9DS0VSX0hPU1Q9dGNwOi8vMTI3LjAuMC4xOjIzNzUKICAgIGNvbW1hbmRzOgogICAgICAtIFJFUE89ImFydGlmYWN0b3J5LWludGVybmFsLmRpZ2l0YWwuaG9tZW9mZmljZS5nb3YudWsiCiAgICAgIC0gQkFTRT0iLyIKICAgICAgLSBOQU1FPSJuZ2lueC1wcm94eSIKICAgICAgLSBGVUxMX05BTUU9IiR7UkVQT30ke0JBU0V9JHtOQU1FfSIKICAgICAgLSBET0NLRVJfVVNFUk5BTUU9Imxldi13ZWItcm9ib3QiCiAgICAgIC0gZG9ja2VyIGxvZ2luIC11PSIke0RPQ0tFUl9VU0VSTkFNRX0iIC1wPSIke0RPQ0tFUl9QQVNTV09SRH0iICIke1JFUE99IgogICAgICAtIGRvY2tlciB0YWcgbmd4ICIke0ZVTExfTkFNRX06JHtEUk9ORV9UQUd9IgogICAgICAtIGRvY2tlciB0YWcgbmd4ICIke0ZVTExfTkFNRX06bGF0ZXN0IgogICAgICAtIGRvY2tlciBwdXNoICIke0ZVTExfTkFNRX06JHtEUk9ORV9UQUd9IgogICAgICAtIGRvY2tlciBwdXNoICIke0ZVTExfTkFNRX06bGF0ZXN0IgogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwoKc2VydmljZXM6CiAgZGluZDoKICAgIGltYWdlOiBkb2NrZXI6MS4xMy1kaW5kCiAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICBjb21tYW5kOgogICAgICAtICItcyIKICAgICAgLSAib3ZlcmxheSIK.fsCfmLyIOwFA4sTrzWETpFtSeUEgeNMFAvQhFFnONl0
1+
eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CgogIGJ1aWxkX2ltYWdlOgogICAgaW1hZ2U6IHF1YXkuaW8vdWtob21lb2ZmaWNlZGlnaXRhbC9jZW50b3MtYmFzZTpsYXRlc3QKICAgIGVudmlyb25tZW50OgogICAgICAtIERPQ0tFUl9IT1NUPXRjcDovLzEyNy4wLjAuMToyMzc1CiAgICBjb21tYW5kczoKICAgICAgLSB5dW0gaW5zdGFsbCAteSAtcSBkb2NrZXIgb3BlbnNzbCB3Z2V0CiAgICAgIC0gLi9jaS1idWlsZC5zaAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFtwdWxsX3JlcXVlc3QsIHB1c2gsIHRhZ10KCiAgcHVzaF9pbWFnZToKICAgIGltYWdlOiBkb2NrZXI6MS4xMQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gRE9DS0VSX0hPU1Q9dGNwOi8vMTI3LjAuMC4xOjIzNzUKICAgICAgLSBET0NLRVJfSU1BR0U9bmdpbngtcHJveHkKICAgICAgLSBET0NLRVJfUkVQTz1hcnRpZmFjdG9yeS1pbnRlcm5hbC5kaWdpdGFsLmhvbWVvZmZpY2UuZ292LnVrCiAgICAgIC0gRE9DS0VSX0JBU0VESVI9LwogICAgICAtIERPQ0tFUl9VU0VSTkFNRT1sZXYtd2ViLXJvYm90CiAgICBjb21tYW5kczoKICAgICAgLSBkb2NrZXIgbG9naW4gLXU9IiR7RE9DS0VSX1VTRVJOQU1FfSIgLXA9IiR7RE9DS0VSX1BBU1NXT1JEfSIgIiR7RE9DS0VSX1JFUE99IgogICAgICAtIC4vcHVibGlzaC5zaCAibmd4IiAiJHtET0NLRVJfUkVQT30ke0RPQ0tFUl9CQVNFRElSfSR7RE9DS0VSX0lNQUdFfSIgIiR7RFJPTkVfVEFHfSIKICAgIHdoZW46CiAgICAgIGV2ZW50OiB0YWcKCiAgcHVzaF9pbWFnZV90b19xdWF5OgogICAgaW1hZ2U6IGRvY2tlcjoxLjExCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBET0NLRVJfSE9TVD10Y3A6Ly8xMjcuMC4wLjE6MjM3NQogICAgICAtIERPQ0tFUl9JTUFHRT1uZ2lueC1wcm94eQogICAgICAtIERPQ0tFUl9SRVBPPXF1YXkuaW8KICAgICAgLSBET0NLRVJfQkFTRURJUj0vdWtob21lb2ZmaWNlZGlnaXRhbC8KICAgICAgLSBET0NLRVJfVVNFUk5BTUU9dWtob21lb2ZmaWNlZGlnaXRhbCtsZXZfYnVpbGRlcgogICAgY29tbWFuZHM6CiAgICAgIC0gZG9ja2VyIGxvZ2luIC11PSIke0RPQ0tFUl9VU0VSTkFNRX0iIC1wPSIke0RPQ0tFUl9RVUFZX1BBU1NXT1JEfSIgIiR7RE9DS0VSX1JFUE99IgogICAgICAtIC4vcHVibGlzaC5zaCAibmd4IiAiJHtET0NLRVJfUkVQT30ke0RPQ0tFUl9CQVNFRElSfSR7RE9DS0VSX0lNQUdFfSIgIiR7RFJPTkVfVEFHfSIKICAgIHdoZW46CiAgICAgIGV2ZW50OiB0YWcKCnNlcnZpY2VzOgogIGRpbmQ6CiAgICBpbWFnZTogZG9ja2VyOjEuMTMtZGluZAogICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgY29tbWFuZDoKICAgICAgLSAiLXMiCiAgICAgIC0gIm92ZXJsYXkiCg.JNb59v_GkAo5TKhjpyqcHtXFhY1J6_SOzjjOeqbge9E

publish.sh

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,47 @@
11
#!/usr/bin/env bash
22

3-
REPO="artifactory-internal.digital.homeoffice.gov.uk"
4-
BASE="/"
5-
NAME="nginx-proxy"
6-
FULL_NAME="${REPO}${BASE}${NAME}"
7-
DOCKER_USERNAME="lev-web-robot"
3+
function usage {
4+
cat <<EOL
5+
USAGE: ${0} SRC DEST VERSION
86
9-
PATCH="${DRONE_TAG}"
7+
SRC: The name of the local image to be published
8+
e.g. my-image:my-tag
9+
10+
DEST: The name to publish as minus the tag
11+
e.g. quay.io/you/my-image
12+
13+
VERSION: The full version (to patch level) to publish as
14+
e.g. v0.1.0
15+
EOL
16+
}
17+
18+
SRC="${1}"
19+
DEST="${2}"
20+
VERSION="${3}"
21+
22+
function check_arg {
23+
if [ -z "${1}" ]; then
24+
echo "Error: Missing ${2} in arguments";
25+
echo
26+
usage
27+
exit 1;
28+
fi
29+
}
30+
31+
check_arg "${SRC}" "SRC"
32+
check_arg "${DEST}" "DEST"
33+
check_arg "${VERSION}" "VERSION"
34+
35+
PATCH="${VERSION}"
1036
MINOR=`echo ${PATCH} | awk -F '.' '{print $1"."$2}'`
1137
MAJOR=`echo ${MINOR} | awk -F '.' '{print $1}'`
1238

13-
docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}" "${REPO}"
14-
15-
tag_n_push() {
16-
echo "Publishing ${1} of ${NAME}..."
17-
docker tag ngx "${FULL_NAME}:${1}"
18-
docker push "${FULL_NAME}:${1}"
19-
echo "published ${1}"
39+
function tag_n_push {
40+
FULL_NAME="${DEST}:${1}"
41+
echo -n "Publishing '${SRC}' as '${FULL_NAME}'..."
42+
docker tag ngx "${FULL_NAME}"
43+
docker push "${FULL_NAME}"
44+
echo " done."
2045
}
2146

2247
tag_n_push "${PATCH}"

0 commit comments

Comments
 (0)