정보 과학 특론 2 리포트 과제 GitLab CI

2350 단어 GitLab


GitLab CI란? GitLab CI는 CI (Continuous Integration, Continuous Integration) 도구 중 하나입니다. 저는 이전 인턴쉽에서 GitLabCI를 이용한 Laravel 어플리케이션의 CI 툴을 자작한 적이 있으므로 여기에 기재하겠습니다. GitLab Runner란? GitLab 서버 및 GitLab Runner 역할 GitLab을 사용하여 지속적인 통합을 수행하려면 "GitLab 서버"와 별도로 작업을 실행하기 위해 "GitLab Runner"라는 서버가 필요합니다. GitLab 서버(CI 서버, 코디네이터) 작업 관리자. GitLab 프로젝트에서 관리하는 지점에 대한 푸시 및 병합 요청을 트리거로 GitLab Runner를 호출합니다. GitLab Runner 실행자. 서버의 환경에서 쉘을 실행하거나 일시적으로 Docker 컨테이너를 생성하여 작업을 실행합니다.

GitLab Runner의 실행 방식 「Executor」란? GitLab Runner에는 "Executor"라는 작업을 실행하는 방법이 있습니다. Executor 유형 Docker(GitLab 권장) Runner와 별도로 일시적으로 생성 된 Docker 컨테이너 환경에서 작업을 실행합니다. 작업을 실행할 때마다 컨테이너를 새로 생성하므로 실행할 작업의 균등성이 보장됩니다. Shell(GitLab 사용되지 않음) Runner 환경에서 작업을 실행합니다. 작업을 실행할 때 Runner 환경을 정리하지 않으므로 실행할 작업의 균등성이 보장되지 않습니다. 또한 Shell을 사용하여 Runner를 실행하면 GitLab 서버에서 다른 프로젝트의 소스 코드를 얻을 수 있으므로 보안에 문제가 있으며 GitLab은이 실행 방법을 더 이상 사용하지 않습니다. 기타 Executor Docker Machine and Docker Machine SSH (auto-scaling) Parallels VirtualBox SSH Kubernetes 연구에 사용되는 아키텍처 예

효과



강의에서도 설명이 있었지만, 지속적 인테그레이션(이하 CI)이란, 앱 개발시의 품질 향상·납기 단축을 목적으로 한 습관을 말한다. 기계 학습의 연구 성과에서도 CI를 실시하면 다음과 같은 이점이 있다고 생각됩니다.
· 버그 수정이 용이
· 공유하기 쉬운
· 모델 관리 등도 자동화하여 관리 품질 향상

문제



강의에서도 말씀드린 대로, CI툴의 관리는 매우 어렵고 전문가가 되어 버리는 경우가 많다.
특히 기계 학습 팀은 유동성이 높기 때문에 표준화하고 협력하여 CI 툴을 사용하는 체제가 바람직하다고 느꼈습니다.

좋은 웹페이지 즐겨찾기