diff --git a/.gitea/workflows/docker-build-push.yml b/.gitea/workflows/docker-build-push.yml index af9ddbd..681f1d3 100644 --- a/.gitea/workflows/docker-build-push.yml +++ b/.gitea/workflows/docker-build-push.yml @@ -8,6 +8,9 @@ on: version: required: true type: string + build_args: + required: false + type: string secrets: GITEA_TOKEN: required: true @@ -44,6 +47,7 @@ jobs: env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME || github.actor }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + BUILD_ARGS_INPUT: ${{ inputs.build_args }} run: | if [ -z "${DOCKER_REGISTRY}" ]; then echo "ERROR: DOCKER_REGISTRY not set in env.conf"; exit 1; fi if [ -z "${DOCKER_IMAGE_NAME}" ]; then echo "ERROR: DOCKER_IMAGE_NAME not set in env.conf"; exit 1; fi @@ -51,9 +55,18 @@ jobs: IMAGE="${DOCKER_IMAGE_NAME}" REGISTRY_HOST="${REGISTRY%%/*}" + BUILD_ARGS="" + if [ -n "$BUILD_ARGS_INPUT" ]; then + while IFS= read -r arg; do + [ -n "$arg" ] && BUILD_ARGS="$BUILD_ARGS --build-arg $arg" + done < /app/version.txt && echo "$FOO" > /app/foo.txt diff --git a/skills/consumer-pipelines/SKILL.md b/skills/consumer-pipelines/SKILL.md index 2630d46..cc26ac2 100644 --- a/skills/consumer-pipelines/SKILL.md +++ b/skills/consumer-pipelines/SKILL.md @@ -345,6 +345,14 @@ DOCKER_REGISTRY: gitea.app.keskikuja.site/niko DOCKER_IMAGE_NAME: my-app ``` +**Inputit:** + +| Parametri | Pakollinen | Kuvaus | +|-----------|------------|--------| +| `env_json` | Kyllä | Konffi `gitea-env.conf`:stä | +| `version` | Kyllä | Version string (check-version output) | +| `build_args` | Ei | Monirivinen KEY=VALUE-lista välitettynä `--build-arg`-lipuiksi `docker build` -komennolle | + **Käyttö reitittimessä:** ```yaml @@ -356,8 +364,19 @@ docker-build-push: with: env_json: ${{ needs.load-config.outputs.env_json }} version: ${{ needs.check-version.outputs.version }} + build_args: | + VERSION=${{ needs.check-version.outputs.version }} ``` +**Dockerfilessä** ARG otetaan vastaan oletusarvolla ja kirjoitetaan tiedostoksi: + +```dockerfile +ARG VERSION=unknown +RUN mkdir -p /app && echo "$VERSION" > /app/version.txt +``` + +Katso referenssi: repon juuren `Dockerfile` (`gitea-ci-library/Dockerfile`). + Tarkka input/secret-lista: `docs/workflows.md`. ### `helm-build-push.yml` — Helm chart build & push