Eu am:
- TeamCity CI
- Agent TeamCity, instalat în Windows 10 ca serviciu Windows
- Unele proiecte Java cu teste de integrare, bazate pe TestContainers cadru.
- Instanță Sonatype Nexus, configurată ca registru docker privat
Testele bazate pe TestContainers necesită ca docker să fie disponibil în timpul construirii proiectului. Toate imaginile necesare pentru executarea testelor se află în Nexus. Ceea ce, la rândul său, înseamnă - pentru a executa teste pe CI, ar trebui să autentific docker în Nexus pentru a le putea extrage. Și de aici vine problema.
Nu înțeleg cum ar trebui să autentific docker pentru ceva, adică serviciul Windows (agent TeamCity).
De obicei, se face de conectare la docker
. Am încercat să execut conectare la docker
din PowerShell al administratorului pe gazda agentului și a reușit - acum pot extrage imagini din consola administratorului. Dar încercarea de a rula testele pe agentul TeamCity eșuează, înfruntând 401 Neautorizat în încercarea de a extrage imaginile din Nexus.De exemplu, serviciul este executat de la un utilizator oarecum, pentru care conectare la docker
nu s-a făcut.
Cum ar trebui să fac docker autorizat în registrul docker privat pentru serviciul de agent Windows 10 TeamCity?