Skip to content
Snippets Groups Projects
Commit f317f2d18feb authored by Georges Racinet's avatar Georges Racinet :squid:
Browse files

crane: building a scriptable image

It is of course much heavier than using the `crane:debug` image,
yet much saner for scripting than Busybox sh.
parent 448c42c004b2
No related branches found
No related tags found
No related merge requests found
Pipeline #87917 passed
variables:
CI_TRIGGER_CRANE_IMAGE_BUILD:
description: "Have the crane image rebuilt"
lint:
# Image is quite overkill, could be replaced by a smaller one
# with just python3 and python3-flake8. With on-demand provisioning,
......@@ -5,3 +9,18 @@
image: registry.heptapod.net/heptapod/ci-images/fixed-pydeps
script:
- flake8 registry-pull-heptapod-push-docker push-release launch
crane-image:
rules:
- if: '$CI_TRIGGER_CRANE_IMAGE_BUILD'
when: always
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: always
- if: '$CI_PIPELINE_SOURCE == "push"'
when: manual
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- ci/kaniko.sh
FROM gcr.io/go-containerregistry/crane:debug as crane
FROM python:3.11-slim
COPY --from=crane /ko-app/crane /usr/bin/crane
#!/busybox/sh
set -e
mkdir -p /kaniko/.docker
mkdir -p /kaniko/ssl/certs
cat > /kaniko/ssl/certs/Heptapod_Tooling_CA.crt << EOF
-----BEGIN CERTIFICATE-----
MIIDfjCCAmagAwIBAgIUZ7t3vKco1mvle/l1TfTRooLWduMwDQYJKoZIhvcNAQEL
BQAwJzElMCMGA1UEAwwcSGVwdGFwb2QgSW50ZXJuYWwgVG9vbGluZyBDQTAeFw0y
MDExMzAyMTMzMTBaFw0zMDExMjgyMTMzMTBaMCcxJTAjBgNVBAMMHEhlcHRhcG9k
IEludGVybmFsIFRvb2xpbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCnxPEwRwppDzuHGccnfdVpppX5s1mWlWl1FqiqdtnJWrkTzKiolJurZXms
Kt6iEB75yMD9r6KiTSN0vRcaH+qhZ2rA/frfKpkhSShp6TZke87tRdLufgUNxVNt
ObAWaXEV2qePRHzLwx016uc/TwrdBvBqjPrRv2gwXLk9gadIPmAMVqSZE9I4qKru
1RciZ2J2R8zDcJuZ4Pi/uQi3XGD0Tm0iVyjIO5zou3+5R6khx4tBcZQX+XZD/usU
10emcZoFHIkc0+uKos+AEB1CBkXCYZDy2G3u8+tYXvNQaMk12Y31/Fv1LdjGwtYG
qEi9k05x/nxOwSK/idPPSeeogcdxAgMBAAGjgaEwgZ4wHQYDVR0OBBYEFNnphf7w
hzIVfEaGTRgGA+COTFfvMGIGA1UdIwRbMFmAFNnphf7whzIVfEaGTRgGA+COTFfv
oSukKTAnMSUwIwYDVQQDDBxIZXB0YXBvZCBJbnRlcm5hbCBUb29saW5nIENBghRn
u3e8pyjWa+V7+XVN9NGigtZ24zAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjAN
BgkqhkiG9w0BAQsFAAOCAQEAmW/80xxQBSQdcEYw3euGDsK72ENztS4P4x12H55j
lULg7DaoWgGDkIIBuhCK+5Y3wzhQyvsBrSB+LcVyVLQbS6yIIgzBVZPf/ZPMrC5x
HjwXKGyZQFqFR/NGxVMmLidHXADF28EqFqSfdfWtdntnUL34hzAHZQkGn+d5S/d3
8qze9BWueo213tLCBtZxoTpneJDhq/fW++5BTagipzwpsmT26ycJ+k4uBwbkcnBo
JP7Hk/I4BC3bZg8dDQShpPCGRlp9b8R0XSGoOoFRGW6z3nhh88kcdFdoPiMgEOuq
FDmDjn14Jct6uFGIHEadGvenxDLivFxV+UnSS8u6tVwYTw==
-----END CERTIFICATE-----
EOF
echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
PYDEPS_TAG="latest"
set -u
set -x
DESTINATION=${CI_REGISTRY_IMAGE}/crane:latest
echo "Building with kaniko, pushing to ${DESTINATION}"
/kaniko/executor --context $CI_PROJECT_DIR/ci \
--dockerfile $CI_PROJECT_DIR/ci/Dockerfile.crane \
--force \
--cache=true \
--cleanup \
--destination $DESTINATION
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment