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ätunnusDOCKER_PASSWORD= PAT (User Settings → Applications → Generate Token, scopewrite:packages)
Runnerin automaattinen
GITEA_TOKENei 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ätunnusDOCKER_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ätunnusDOCKER_PASSWORD= Artifactoryn API-token
4. Tarkistuslista
DOCKER_REGISTRYasetettu (registry + org)DOCKER_IMAGE_TAGasetettu (pelkkä nimi)- (tarvittaessa)
DOCKER_USERNAME-secret — oletusgithub.actor DOCKER_PASSWORD-secret luotu repoon (PAT/token/salasana)- Tokenilla/salasanalla oikeus pushata registryyn
- (valinnainen)
DOCKER_UI_URLasetettu → commit status linkkaa kontin UI-sivulle