Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 535a5fed0e |
@@ -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 <<EOF
|
||||
$BUILD_ARGS_INPUT
|
||||
EOF
|
||||
fi
|
||||
|
||||
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||
CONTEXT_DIR=$(dirname "${DOCKERFILE}")
|
||||
docker build \
|
||||
docker build $BUILD_ARGS \
|
||||
--label "git.commit=${{ github.sha }}" \
|
||||
--label "git.commitBy=${{ github.actor }}" \
|
||||
--label "build.date=${NOW}" \
|
||||
|
||||
@@ -48,6 +48,9 @@ jobs:
|
||||
with:
|
||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||
version: ${{ needs.check-version.outputs.version }}
|
||||
build_args: |
|
||||
VERSION=${{ needs.check-version.outputs.version }}
|
||||
FOO=bar
|
||||
|
||||
docker-gitops:
|
||||
name: GitOps
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
FROM alpine:latest
|
||||
ARG VERSION=unknown
|
||||
ARG FOO=unknown
|
||||
RUN mkdir -p /app && echo "$VERSION" > /app/version.txt && echo "$FOO" > /app/foo.txt
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user