Files
gitea-ci-library/guides/docker-registry-setup.md
T
moilanik f35c24857f
CI / Load gitea-env.conf to pipeline env (push) Successful in 13s
ci-check Build version 0.1.0 required
ci-docker-build Docker build 0.1.0 OK
ci-docker-push Docker push 0.1.0 FAILED
CI / Build & Push Artifact (push) Failing after 1m6s
docker yleiseksi rakenteeltaan
2026-06-15 11:31:09 +03:00

3.5 KiB

Docker Registry Setup

Pipeline rakentaa Docker-kontin ja pushee sen haluttuun registryyn. Konfigurointi gitea-env.confissa, tunnukset repository Secrets -muuttujina.


1. gitea-env.conf — Docker-kentät

Kenttä Pakollinen Kuvaus Esimerkki
DOCKER_REGISTRY kyllä Registry + mahdollinen organisaatio. Koko etuliite ennen kuvan nimeä. Login käyttää ensimmäistä /-edeltävää osaa gitea.app.keskikuja.site/niko
DOCKER_IMAGE_TAG kyllä Pelkkä kuvan nimi (ilman tagia, ilman rekisteriä, ilman organisaatiota) gitea-ci-library-test-image
DOCKER_UI_URL ei Base-URL kontin UI-sivulle. Workflow liittää perään /VERSION https://gitea.app.keskikuja.site/-/packages/container/niko/gitea-ci-library

Koko image-ref: ${DOCKER_REGISTRY}/${DOCKER_IMAGE_TAG}:${VERSION}
Esimerkki: gitea.app.keskikuja.site/niko/gitea-ci-library-test-image:0.1.0

Paikallinen build-tagi: ${DOCKER_IMAGE_TAG}:${VERSION}
Esimerkki: gitea-ci-library-test-image:0.1.0


2. Gitea Secrets — tunnukset

Workflow tekee docker login -u "$DOCKER_USERNAME" --password-stdin. Mitä arvoja laitetaan, riippuu registrystä:

Registry DOCKER_USERNAME DOCKER_PASSWORD Mistä saadaan
Gitea Packages ${{ github.actor }} (automaattinen) PAT scope write:packages User Settings → Applications → Generate Token
Docker Hub Docker Hub -käyttäjä Access Token (ei salasana) Hub Account Settings → Security → Access Tokens
Artifactory service account -tunnus API-token Artifactory Admin → Users → käyttäjä → token

DOCKER_USERNAME on optionaalinen — jos sitä ei ole asetettu, workflow käyttää ${{ github.actor }} (workflowin käynnistäjä). Riittää asettaa vain DOCKER_PASSWORD.

Asetus: Repository → Settings → Actions → Secrets → Add new secret


3. Esimerkkejä

3a. Gitea Packages

DOCKER_REGISTRY=gitea.app.keskikuja.site/niko
DOCKER_IMAGE_TAG=gitea-ci-library-test-image
DOCKER_UI_URL=https://gitea.app.keskikuja.site/-/packages/container/niko/gitea-ci-library
  • DOCKER_USERNAME = Gitea-käyttäjätunnus
  • DOCKER_PASSWORD = PAT (User Settings → Applications → Generate Token, scope write:packages)

Runnerin automaattinen GITEA_TOKEN ei yleensä sisällä write:packages-scopea. Tarvitaan erillinen PAT.

3b. Docker Hub

DOCKER_REGISTRY=docker.io/library
DOCKER_IMAGE_TAG=oma-kuva
DOCKER_UI_URL=https://hub.docker.com/r/library/oma-kuva
  • DOCKER_USERNAME = Docker Hub -käyttäjätunnus
  • DOCKER_PASSWORD = Docker Hub Access Token (suositeltu) tai salasana

3c. Artifactory (kuten legacy Jenkins)

DOCKER_REGISTRY=ngdo-docker.artifactorypro.shared.pub.tds.tieto.com
DOCKER_IMAGE_TAG=microservice-temperature-store
DOCKER_UI_URL=https://artifactorypro.shared.pub.tds.tieto.com/ui/repos/tree/General/ngdo-docker.artifactorypro.shared.pub.tds.tieto.com/microservice-temperature-store
  • DOCKER_USERNAME = Artifactory-käyttäjätunnus
  • DOCKER_PASSWORD = Artifactoryn API-token

4. Tarkistuslista

  • DOCKER_REGISTRY asetettu (registry + org)
  • DOCKER_IMAGE_TAG asetettu (pelkkä nimi)
  • (tarvittaessa) DOCKER_USERNAME-secret — oletus github.actor
  • DOCKER_PASSWORD-secret luotu repoon (PAT/token/salasana)
  • Tokenilla/salasanalla oikeus pushata registryyn
  • (valinnainen) DOCKER_UI_URL asetettu → commit status linkkaa kontin UI-sivulle