깃랩은 온프레미스 설치형 깃 호스팅이다. 깃랩의 CI/CD는 도커에서 실행되고 연결된 쿠버네티스에 배포된다. CI란 지속적 통합(Continuous Integration)이다. 프로젝트 루트에 .gitlab-ci.yml(job은 해당 파일의 가장 기본적인 요소)이 있는 상태로 새로운 푸시가 들어오면 일련의 파이프라인(job 묶음)이 실행된다. 파이프라인은 지속적 통합, 전달 및 배포의 최상위 구성 요소이다. job은 러너(runner)에 의해 실행된다. 동시러너가 충분한 경우, 동일한 단계의 여러 job이 병렬로 실행된다. 실행 중 어떠한 job이 실패하면 다음 단계는 실행되지 않고 파이프라인이 일찍 종료된다.
온프레미스(On-Premise): 기업의 서버를 클라우드 같은 원격 방식이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식. 보안성이 좋으나 시간과 비용이 많이 발생함.
깃랩엔 Auto DevOps와 KNative가 있다.
Auto DevOps(Ingress)는 yaml 파일을 작성하지 않아도 임의의 파이프 라인을 구성하여 배포, 다만 커스터마이즈의 어려움이 존재.
KNative(istio)는 직접 yaml을 작성함. 쿠버네티스+istio 기반 서버리스 배포 환경, 커스터마이즈가 쉽다.
다만 복잡한 배포시 yaml 직접 작성이 필수적이라 위 두 개의 방법은 사용하지 못한다.
출처: https://workshop.infograb.io/gitlab-ci/11_introduction-to-gitlab-cicd/3_gitlab_ci_cd_terms_concepts/
출처: https://velog.io/@wickedev/Gitlab-CICD-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-bljzphditt
리눅스 환경에서의 깃랩을 이용한 CI 파이프라인:
https://mumin-blog.tistory.com/305
'DevOps & Cloud' 카테고리의 다른 글
서버 및 쿠버네티스 설정값 (0) | 2023.01.10 |
---|---|
2. 쿠버네티스 설치 및 설정 (0) | 2023.01.10 |
1. OpenStack Instance의 SSH 접속 (0) | 2023.01.10 |
Bash Shell 프로그래밍(기초, 예제) (0) | 2023.01.03 |
GitLab - CI(Continuous Integration) 실습 (0) | 2023.01.03 |