3.5 KiB
Docker Registry Setup
Pipeline rakentaa Docker-kontin ja pushee sen haluttuun registryyn.
1. Konfiguroi gitea-env.conf
DOCKER_REGISTRY=gitea.app.keskikuja.site/niko # PAKOLLINEN — tyhjä ei käy
DOCKER_IMAGE_NAME=gitea-ci-library-test-image # PAKOLLINEN
DOCKER_UI_URL=https://gitea.app.keskikuja.site/niko/-/packages/container/gitea-ci-library-test-image # valinnainen
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
DOCKER_REGISTRY |
kyllä | Registry + mahdollinen organisaatio. Tyhjä arvo pysäyttää workflow'n virheeseen. Esim. gitea.app.keskikuja.site/niko |
DOCKER_IMAGE_NAME |
kyllä | Pelkkä kuvan nimi. Esim. gitea-ci-library-test-image |
DOCKER_UI_URL |
ei | Base-URL kontin UI-sivulle (ilman versiota). Workflow liittää perään /VERSION. Giteassa muotoa .../container/<DOCKER_IMAGE_NAME> |
Koko image-ref: ${DOCKER_REGISTRY}/${DOCKER_IMAGE_NAME}:${VERSION}
Esim. gitea.app.keskikuja.site/niko/gitea-ci-library-test-image:0.1.0
2. Luo PAT (Personal Access Token) Giteassa
Gitea → oma profiili (oikea yläkulma) → Settings → Applications → Manage Access Tokens → Generate New Token
Valitse scope:
| Scope | Pääsy |
|---|---|
package |
Read and Write |
Tämä token toimii salasanana
docker login-komennossa. Muut scopet (kutenrepository) eivät riitä — konttirekisteri vaatii nimenomaanpackage-scopen.
Tokenin arvo näytetään vain kerran luomisen yhteydessä. Kopioi se talteen.
3. Tallenna PAT repositoryn Secretsiin
Nämä ovat kaksi eri paikkaa:
- Access Tokenit (User Settings) = missä luot tokenin
- Repository Secrets (Repository Settings) = minne talletat sen workflow'n käyttöön
Repository → Settings → Actions → Secrets → Add new secret
| Secret | Arvo |
|---|---|
DOCKER_PASSWORD |
Edellisessä vaiheessa luotu PAT |
DOCKER_USERNAME-secretiä ei tarvita. Workflow käyttää automaattisesti ${{ github.actor }} (workflowin käynnistäjä).
Jos registry vaatii eri käyttäjätunnuksen kuin github.actor (esim. Artifactory, Docker Hub), lisää myös:
| Secret | Arvo |
|---|---|
DOCKER_USERNAME |
Registryn käyttäjätunnus |
4. Tarkistuslista ennen ajoa
DOCKER_REGISTRYasetettugitea-env.confissaDOCKER_IMAGE_NAMEasetettugitea-env.confissa- PAT luotu Giteassa scopella
packageRead and Write DOCKER_PASSWORD-secret tallennettu repositoryn Secretsiin (se PAT)- (tarvittaessa)
DOCKER_USERNAME-secret — oletusgithub.actor
5. Esimerkkejä eri registryille
Gitea Packages
DOCKER_REGISTRY=gitea.app.keskikuja.site/niko
DOCKER_IMAGE_NAME=gitea-ci-library-test-image
DOCKER_UI_URL=https://gitea.app.keskikuja.site/niko/-/packages/container/gitea-ci-library-test-image
- PAT scope:
packageRead and Write
Docker Hub
DOCKER_REGISTRY=docker.io/library
DOCKER_IMAGE_NAME=oma-kuva
DOCKER_UI_URL=https://hub.docker.com/r/library/oma-kuva
- Secret
DOCKER_USERNAME= Docker Hub -käyttäjä - Secret
DOCKER_PASSWORD= Access Token (ei salasana)
Artifactory (kuten legacy Jenkins)
DOCKER_REGISTRY=ngdo-docker.artifactorypro.shared.pub.tds.tieto.com
DOCKER_IMAGE_NAME=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
- Secret
DOCKER_USERNAME= service account -tunnus - Secret
DOCKER_PASSWORD= API-token