Auto DevOps

Auto DevOps는 보유한 소스 코드를 자동으로 검색하는 기본 CI/CD 템플릿입니다. 이를 통해 GitLab은 애플리케이션을 자동으로 감지, 빌드, 테스트, 배포 및 모니터링할 수 있습니다. CI/CD 모범 사례 및 도구를 활용하는 Auto DevOps는 성숙하고 현대적인 소프트웨어 개발 라이프사이클의 설정 및 실행을 단순화하는 것을 목표로 합니다.

개요

프로젝트를 빌드, 배포 및 모니터링하는 데 필요한 워크플로우와 프로세스를 설정하는 데 많은 노력을 기울일 수 있습니다. 회사에 유지 관리해야 할 프로젝트가 수천 개는 아니더라도 수백 개일 때 상황은 더욱 악화됩니다. 새로운 프로젝트가 지속적으로 시작됨에 따라 전체 소프트웨어 개발 프로세스는 관리하기가 불가능할 정도로 복잡해집니다.

Auto DevOps는 최소한의 구성으로 모든 프로젝트를 테스트, 빌드, 패키징, 배포 및 모니터링하는 데 필요한 모든 종속성 및 언어 기술을 자동으로 감지하여 원활한 소프트웨어 개발 프로세스를 제공합니다. 자동화를 통해 프로젝트 전반에 걸쳐 일관성을 유지하고, 프로세스를 원활하게 관리하고, 새 프로젝트를 더 빠르게 생성할 수 있습니다. 코드를 푸시하면 나머지는 GitLab이 처리하여 생산성과 효율성을 개선합니다.

기본적으로 활성화됨

자체 관리형 인스턴스에서는 모든 프로젝트에 대해 기본적으로 Auto DevOps가 활성화됩니다. 각 프로젝트의 모든 파이프라인에서 실행을 시도합니다. 인스턴스 관리자(Admin)는 Auto DevOps 설정에서 이 기본값을 활성화 또는 비활성화할 수 있습니다. Auto DevOps는 첫 번째 파이프라인 실패 시 개별 프로젝트에서 자동으로 비활성화됩니다.

GitLab 12.7 이후 Auto DevOps는 Dockerfile 또는 일치하는 빌드 팩이 있는 경우에만 파이프라인에서 자동으로 실행됩니다.

프로젝트에 CI/CD 구성 파일이 있는 경우, Auto DevOps의 활성화 여부에 관계없이 계속 사용됩니다.

Auto DevOps 활성화/비활성화

Auto DevOps를 처음 사용할 때 요구사항을 검토하여 Auto DevOps를 최대한 활용하는 데 필요한 모든 구성 요소를 사용할 수 있는지 확인합니다. 처음 사용하는 사용자는 빠른 시작 가이드를 따라야 합니다.

자체 관리형 GitLab 사용자는 프로젝트, 그룹 또는 인스턴스 수준에서 Auto DevOps를 활성화하거나 비활성화할 수 있습니다.

프로젝트 수준에서

활성화하려면 프로젝트에 .gitlab-ci.yml이 없는지 확인합니다. 있으면 제거하십시오.

  1. 프로젝트의 Settings > CI/CD > Auto DevOps로 이동합니다.
  2. 활성화하려면 Default to Auto DevOps pipeline 체크박스를 선택합니다.
  3. (선택사항이지만 권장됨) 활성화할 때 Auto DevOps가 애플리케이션을 배포하는 데 사용하는 기본 도메인을 추가하고 배포 전략을 선택할 수 있습니다.
  4. 변경사항을 적용하려면 Save changes 버튼을 클릭합니다.

기능을 활성화한 후 master 브랜치에서 Auto DevOps 파이프라인이 트리거 됩니다.

그룹 수준에서

관리자(Admin) 및 그룹 Owner만 그룹 수준에서 Auto DevOps를 활성화 또는 비활성화할 수 있습니다.

그룹 수준에서 Auto DevOps를 활성화하거나 비활성화할 때, Auto DevOps가 하위 그룹 또는 프로젝트에서 특별히 활성화 또는 비활성화되지 않는 한 해당 그룹 내의 하위 그룹 및 프로젝트에 대해 그룹 구성이 암시적으로 사용됩니다.

그룹 수준에서 Auto DevOps를 활성화 또는 비활성화하려면 :

  1. 그룹의 Settings > CI/CD > Auto DevOps 페이지로 이동합니다.
  2. 활성화하려면 Default to Auto DevOps pipeline 체크박스를 선택합니다.
  3. 변경사항을 적용하려면 Save changes 버튼을 클릭합니다.

배포 전략

프로젝트의 Settings > CI/CD > Auto DevOps를 방문하여 Auto DevOps에서 사용하는 배포 전략을 변경할 수 있습니다. 다음 옵션을 사용할 수 있습니다.

  • Continuous deployment to production : master 브랜치를 사용하여 프로덕션에 직접 배포되도록 Auto Deploy를 활성화합니다.

  • Continuous deployment to production using timed incremental rollout : INCREMENTAL_ROLLOUT_MODE 변수를 timed로 설정합니다. 프로덕션 배포는 롤아웃의 각 증분 사이에 5분의 지연으로 실행됩니다.

  • Automatic deployment to staging, manual deployment to production : STAGING_ENABLEDINCREMENTAL_ROLLOUT_MODE 변수를 1manual로 설정합니다. 이것은 다음을 의미합니다.

    • master 브랜치가 스테이징에 직접 배포됩니다.
    • 프로덕션에 대한 증분 롤아웃을 위해 수동 작업(Manual action)이 제공됩니다.

    깃랩 문서 바로가기