Cześć,
mam za zadanie:
zautomatyzować budowanie obrazu Docker i wysyłanie go na wybrane repozytorium(DockerHub,GitLab), używając GitLabCI .
GitLab CI ma dwa stany:
- build - budujący obraz dockerowy z narzędziem i zależnościami;
- test - testujący, że obraz działa (mam wywołać w nim skrypt który napisałem).
Problem mam taki ,że nie działa mi mój skrypt na kontenerze dockera z racji tego ,że obraz nie jest budowany poprzez mój plik DOCKERFILE(tak przypuszczam).
Plik .yml mam wrzucony już na gitlab ,tak samo wrzuciłem DOCKERFILE (miałem nadzieje że GitLab skorzysta jakoś automatycznie z mojego DOCKERFILE).
Tworząc obraz i testując go poza GitLab -em wszystko sprawnie działało więc to nie będzie wina DOCKERFILE.
MÓJ PLIK .yml WYGLĄDA TAK:
stages:
- test
- build
testcases:
stage: build
script:
- docker login registry.gitlab.com
- docker build -t registry.gitlab.com/nazwakonta/my_app .
- docker push registry.gitlab.com/nazwakonta/my_app
- sudo docker run -it registry.gitlab.com/nazwakonta/my_app
testcases:
stage: test
script:
- moj_skrypt