Seluk-beluk pengaturan CI / CD: cara kerja GitLab runner, kapan menggunakan Docker-in-Docker, dan di mana Argo CD berguna







ยซยป CI/CD. Southbridge Tinkoff .







, :







  • GitLab runner: , ?
  • ? , ?
  • , Docker ?
  • Docker-in-Docker?
  • ?


YouTube. โ€” .







20.10 Docker Engine rootless. , . - Docker- root-?







: , - . , , Docker. Docker-in-Docker, , , Docker-in-Docker rootless .







, , Gitlab, kaniko. , - , Gitlab , . , , .







: Gitlab (issue), , rootless, . kaniko, kaniko .







, helm- โ€” ? ? deployment.yml ?







: it depends โ€” . open source , , makefile, , , Docker-. Github, github actions Docker Hub . : open source , .







, , : , โ€” . , , . , โ€” , , - helm- . , GitLab CI , , Kubernetes.







: , , Kubernetes. , Argo CD, . CI (push-) Argo.







, . , , Continuous Deployment ? .







: , , . CI/CD , โ€” . .







gitlab-ci ?







: , , , . โ€” gitlab-ci.yml โ€” . , .







: , , . , , : , , .







Jira GitLab?







: GitLab Jira, .







: , issue-: Jira, YouTrack. , , . , GitLab.







jobโ€™a release , only changes?







: : , . GitLab , , . , , GitLab.







GitLab . ?







: . , - .







GitLab ? , host, . - ? , host_dev, host_prod host_test, , ? ?







: . , , - env- .







โ€” host_dev, host_prod, host_test . ?







: , . , , .







: . , . โ€ฆ







deploy release, , ?







: job stage, job prod?







, job, prod , , only text. .







: (YAML โ€” . ) , jobโ€™ . extends, Docker. job variables, jobโ€™ , host environment, .







jobโ€™, , . , - , , gitlab-ci.yml.







SSH executor ?







: . , , - tcp- .







, test staging, , prod?







: , . , , . . Kubernetes , ยซSSH , SSH ยป โ€” , .







Kubernetes , , namespace ?







: , . namespace .







, ? .







: , , executor .







: concurrency. , , โ€” , concurrency. : jobโ€™ , .







jobโ€™ ?







: , bash , SSH-, Docker- Kubernetes.







Argo CD GitOps- ? , prod , + , dev / ?







: , . : , -. . - GitLab issue, . .







, Argo CD - . , . โ€” - (namespace Kubernetes) - , - .







, CI/CD. Argo, , . GitOps-. -, werf ยซยป โ€” Docker-. GitOps โ€” . , .







Argo : ยซ! - , Kubernetesยป, - .







: , โ€” , . , Argo CD. , : 1.2.0



, 1.2.1



. stage 1.2.*



โ€” stage. QA 1.*



โ€” . , โ€” *, Argo CD .







Docker-? trivy , ?







: Trivy, .







, , ?







: , . ! , , Google Microsoft โ€” . , . GitLab CI/CD, : - , , โ€” only changes, . - , GitLab . , ( - , , ) . .







: open source , , . , : ยซ, Google/Amazon/Facebook, , , , . , . GitLabยป.







, , โ€” โ€œonly changesโ€ . - , , . Kubernetes, 5 ( ) . , , , . , , , โ€” . , . Go , . - โ€” .







, , , . , GitLab.







: ยซ โ€” ยป, - ( , ) Argo .







best practices ? , ? Docker-, , , kvm?







: GitLab Docker Machine, โ€” (AWS, Azure, VirtualBox, Hyper V, vmWare). KVM . . , AWS S3 .







Docker Machine GitLab . , , , - . โ€” Kubernetes. best practice โ€” GitLab, . , - .







( ). concurrency, , - , โ€” .







: Kubernetes, taint PreferNoSchedule, - . nodeSelector . .







, , , . , โ€” CPU ( CPU, ). Docker-, ( - : , , Docker- ), , , , , , Docker- registry.







- . . , 4 , - Java .







Kubernetes . Kubernetes - , build-, . , , . Kubernetes . SSH shell-, , . GitLab Runner, , . .







Docker-in-Docker? , GitLab?







: : Docker-in-Docker , Docker. - Dockerโ€ฆ : Docker, Docker-in-Docker Docker- (Python, , - ).







: . Docker-in-Docker . , kaniko, kaniko, ( ). Docker-in-Docker. , Docker-in-Docker - , , , -, Docker- .







Docker-in-Docker โ€” . : root-, , . Dockerfile, SSH-, , root- dev/sda1 โ€” , , .







: Podman, Buildah kaniko. , Kubernetes Docker โ€” , . Docker ( ) rootless mode. root.







, Docker, ( docker prune -a)?







: โ€” , , . - .







: : docker prune -a



. โ€” Docker- . โ€” , . , Docker-, .







, Docker-, Docker- GitLab registry, , GitLab 250 . , GitLab 250 , GitLab registry 250 . GitLab Omnibus persistent volume . registry 500 , , , 750 , โ€” - . , , - . , , - .







(, GitHub) GitLab GitLab? GitLab , , . . pull ยซยป, . , ?







: , Starter. GitHub, GitLab GitLab pull GitHub. , , , . CI/CD : , . , , .







: . . , , GitLab, . , TLS- , , , - โ€” , . ยซ ? ! โ€” , GitLab ยป. , , , .







GitLab docker-: , ? ?







, , - , GitLab-

( GitLab ) ? : Docker- (, kvm)?

GitLab: 100 , 200 .







: , KVM . Docker- โ€” - : , 15 . GitLab , . , ?







GitLab. 100 2 ( 500 ) 4 ( 100 ). : , , 2. , , .







. , : html- java-. . , - , .







: , GitLab. . GitLab - 500 , - 200 . โ€ฆ , 1,5 2 , , . 50 .







: , , , โ€” . 4 , . , PostgreSQL, GitLab, . , , .







GitLab : GitLab, . , , Docker executor.







Kubernetes. , SSH docker\docker-compose.







: , . ( โ€” . ) โ€” Docker. : SSH , docker stop, docker rm ( ) docker run , . .







Docker , , CI/CD . , .







: SSH, . , , . , Kubernetes , Docker (, healthcheck, ).







SSH, , - systemd. , Ansible , , systemd.







: ( , ), Bash , - . , docker run ; docker run, registry, . - , , docker run.







( )?







: . AWS , - . , , - , , . Docker compose.







: GitLab runner, , ? , , . ? ? .







: Kubernetes, , - , , โ€ฆ OpenShift , , . - , . , , , - , , โ€” .







: . - Docker- . . - , ?







?







: GitLab , , . , , . !







: issue, , . , . . - , , UI GitLab . .







, , , ยซยป . , Git runtime-?







: , , . , . : , , , GitLab, push CI/CD , .







: , . , , ( ) , , , . ( , ), โ€” ( ; - ) .







NAT, GitLab. , GitLab NAT, GitLab. , GitLab, . : โ€” . , . , TLS-, ( proxy, GitLab) .







: proxy, NAT , , , . , CI/CD . CI/CD, .







: , , , : ยซ , , ยป.







, , . : ? , , . deal breaker, .







- CI/CD GitLab, zip-, ? ?







: , zip-, GitLab CI - ? , . ? - , , SSH . , GitLab, .







: - jobโ€™ , , , , zip-, , , nexus ( docker registry โ€” . ) . , . , , GitLab .







CI/CD








All Articles