M'zochita zanga, nthawi zambiri zinkachitika kuti kuyesa kugwirizanitsa "kunkachitidwa" pamapulojekiti. Ndipo nthawi zambiri vuto loyamba komanso lofunikira kwambiri ndi payipi ya CI, momwe kuyesanso kuphatikizira kukulitsidwa service (s) imachitika mu malo oyambira/masiteji. Izi zidabweretsa zovuta zingapo:
Chifukwa cha zolakwika mu ntchito inayake panthawi yoyesa kuphatikiza, dera loyesa likhoza kuonongeka ndi data yosweka. Panali zochitika pamene kutumiza pempho ndi mtundu wosweka wa JSON kunasokoneza ntchito, zomwe zinapangitsa kuti kuyimitsidwa kusagwire ntchito.
Kuchedwetsa kwa dera loyesera pamene deta yoyesa ikuwonjezeka. Ndikuganiza kuti sizomveka kufotokoza chitsanzo ndikuyeretsa / kubweza nkhokwe. Muzochita zanga, sindinakumanepo ndi polojekiti yomwe ndondomekoyi inayenda bwino.
Chiwopsezo chosokoneza magwiridwe antchito a dera loyesa poyesa makonda a dongosolo lonse. Mwachitsanzo, ndondomeko ya ogwiritsa ntchito/gulu/password/application.
Zoyesa zoyeserera zokha zimapangitsa moyo kukhala wovuta kwa oyesa pamanja.
Ena anganene kuti ma autotes abwino amayenera kuyeretsa deta pambuyo pake. Ndili ndi zotsutsana nazo:
Kwa wothamanga, ndikupangira makina enieni a Linux okhala ndi 4 vCPU, 4 GB RAM, 50 GB HDD.
Pali zambiri pakukhazikitsa gitlab-runner pa intaneti, mwachidule:
$ docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/gitlab-runner/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
$ export TR_HTTP_PORT=$(shuf -i10000-60000 -n1)
$ export TR_HTTPS_PORT=$(shuf -i10000-60000 -n1)
$ mkdir ${CI_JOB_ID}
$ cp .indirect/docker-compose.yml ${CI_JOB_ID}/docker-compose.yml
$ make docker-up
docker-compose -f ${CI_JOB_ID:-.indirect}/docker-compose.yml kill
docker network rm testrail-network-${CI_JOB_ID:-local} || true
Error: No such network: testrail-network-204645172
docker network create testrail-network-${CI_JOB_ID:-local}
0a59552b4464b8ab484de6ae5054f3d5752902910bacb0a7b5eca698766d0331
docker-compose -f ${CI_JOB_ID:-.indirect}/docker-compose.yml pull
Pulling web ... done
Pulling fpm ... done
Pulling migration ... done
Pulling db ... done
docker-compose -f ${CI_JOB_ID:-.indirect}/docker-compose.yml up --force-recreate --renew-anon-volumes -d
Creating volume "204645172_static-content" with default driver
Creating testrail-mysql-204645172 ...
Creating testrail-mysql-204645172 ... done
Creating testrail-migration-204645172 ... done
Creating testrail-fpm-204645172 ... done
Creating testrail-web-204645172 ... done
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6b76f9135ed registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" 13 seconds ago Up 1 second 0.0.0.0:51148->80/tcp, 0.0.0.0:25426->443/tcp testrail-web-204645172
01d303262d8e registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" 16 seconds ago Up 13 seconds 9000/tcp testrail-fpm-204645172
2cdab1edbf6a registry.gitlab.com/touchbit/image/testrail/migration:latest "docker-entrypoint.sβ¦" 16 seconds ago Up 13 seconds 3306/tcp, 33060/tcp testrail-migration-204645172
826aaf7c0a29 mysql:5.7.22 "docker-entrypoint.sβ¦" 18 seconds ago Up 16 seconds 3306/tcp testrail-mysql-204645172
6dbb3fae0322 registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" 36 seconds ago Up 22 seconds 0.0.0.0:44202->80/tcp, 0.0.0.0:20151->443/tcp testrail-web-204645084
3540f8d448ce registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" 38 seconds ago Up 35 seconds 9000/tcp testrail-fpm-204645084
70fea72aa10d mysql:5.7.22 "docker-entrypoint.sβ¦" 40 seconds ago Up 37 seconds 3306/tcp testrail-mysql-204645084
d8aa24b2892d registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" About a minute ago Up 53 seconds 0.0.0.0:31103->80/tcp, 0.0.0.0:43872->443/tcp testrail-web-204644881
6d4ccd910fad registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" About a minute ago Up About a minute 9000/tcp testrail-fpm-204644881
685d8023a3ec mysql:5.7.22 "docker-entrypoint.sβ¦" About a minute ago Up About a minute 3306/tcp testrail-mysql-204644881
1cdfc692003a registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" About a minute ago Up About a minute 0.0.0.0:44752->80/tcp, 0.0.0.0:23540->443/tcp testrail-web-204644793
6f26dfb2683e registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" About a minute ago Up About a minute 9000/tcp testrail-fpm-204644793
029e16b26201 mysql:5.7.22 "docker-entrypoint.sβ¦" About a minute ago Up About a minute 3306/tcp testrail-mysql-204644793
c10443222ac6 registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" 5 hours ago Up 5 hours 0.0.0.0:57123->80/tcp, 0.0.0.0:31657->443/tcp testrail-web-204567103
04339229397e registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" 5 hours ago Up 5 hours 9000/tcp testrail-fpm-204567103
6ae0accab28d mysql:5.7.22 "docker-entrypoint.sβ¦" 5 hours ago Up 5 hours 3306/tcp testrail-mysql-204567103
b66b60d79e43 registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" 5 hours ago Up 5 hours 0.0.0.0:56321->80/tcp, 0.0.0.0:58749->443/tcp testrail-web-204553690
033b1f46afa9 registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" 5 hours ago Up 5 hours 9000/tcp testrail-fpm-204553690
a8879c5ef941 mysql:5.7.22 "docker-entrypoint.sβ¦" 5 hours ago Up 5 hours 3306/tcp testrail-mysql-204553690
069954ba6010 registry.gitlab.com/touchbit/image/testrail/web:latest "nginx -g 'daemon ofβ¦" 5 hours ago Up 5 hours 0.0.0.0:32869->80/tcp, 0.0.0.0:16066->443/tcp testrail-web-204553539
ed6b17d911a5 registry.gitlab.com/touchbit/image/testrail/fpm:latest "docker-php-entrypoiβ¦" 5 hours ago Up 5 hours 9000/tcp testrail-fpm-204553539
1a1eed057ea0 mysql:5.7.22 "docker-entrypoint.sβ¦" 5 hours ago Up 5 hours 3306/tcp testrail-mysql-204553539
Ntchito zonse zidamalizidwa bwino
Zinthu zopangidwa ndi ntchito zimakhala ndi ntchito komanso zolemba zoyeserera
Chilichonse chikuwoneka ngati chokongola, koma pali mawonekedwe ake. Mapaipi amatha kuyimitsidwa mokakamiza pomwe mayeso ophatikiza akugwira ntchito, pomwe zotengera zomwe zikuyenda siziyimitsidwa. Nthawi ndi nthawi muyenera kuyeretsa wothamanga. Tsoka ilo, ntchito yokonza mu GitLab CE idakalipobe Open
Koma tawonjezera kukhazikitsidwa kwa ntchito molingana ndi ndandanda, ndipo palibe amene amatiletsa kuiyendetsa pamanja.
Pitani ku polojekiti yathu -> CI / CD -> Mandandanda ndikuyendetsa ntchitoyi Clean runner
Chiwerengero:
Tili ndi chipolopolo chimodzi.
Palibe mikangano pakati pa ntchito ndi chilengedwe.
Timagwira ntchito limodzi ndi mayeso ophatikizana.
Mutha kuyesa kuyesa kophatikiza kwanuko kapena mu chidebe.
Zipika zautumiki ndi zoyesa zimasonkhanitsidwa ndikuphatikizidwa ku ntchito yamapaipi.
Ndizotheka kuyeretsa wothamanga pazithunzi zakale za Docker.