Auto DevOps

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • GitLab 11.0에 소개되었습니다.
  • GitLab 14.5에서 GitLab 에이전트 지원이 소개되었습니다.

GitLab Auto DevOps는 소프트웨어 전달 프로세스를 지원하기 위해 함께 작동하는 사전 구성된 기능 및 통합의 모음입니다.

Auto DevOps는 프로그래밍 언어를 감지하고 CI/CD 템플릿을 사용하여 기본 파이프라인을 만들고 실행하여 애플리케이션을 빌드하고 테스트합니다. 그런 다음 배포를 구성하여 앱을 스테이징 및 프로덕션 환경에 배포하고 리뷰 앱을 설정하여 각 브랜치의 변경 사항을 미리 볼 수 있습니다.

기본 설정을 사용하여 빠르게 앱을 출시하고 나중에 반복하고 사용자 정의할 수 있습니다.

또한 API를 사용하여 Auto DevOps 관리할 수도 있습니다.

Auto DevOps 소개를 보려면 GitLab 11.0의 Auto DevOps을 시청하세요.

Auto DevOps 기능

Auto DevOps는 DevOps 스테이지의 각 단계에서 개발을 지원합니다.

스테이지 Auto DevOps 기능
빌드 Auto Build
빌드 Auto Dependency Scanning
테스트 Auto Test
테스트 Auto Browser Performance Testing
테스트 Auto Code Intelligence
테스트 Auto Code Quality
테스트 Auto Container Scanning
배포 Auto Review Apps
배포 Auto Deploy
보안 Auto Dynamic Application Security Testing (DAST)
보안 Auto Static Application Security Testing (SAST)
보안 Auto Secret Detection

애플리케이션 플랫폼 및 PaaS와의 비교

Auto DevOps는 일반적으로 애플리케이션 플랫폼이나 PaaS에 포함된 기능을 제공합니다.

Heroku에서 영감을 받은 Auto DevOps는 다음과 같은 면에서 더 나아갑니다:

  • Auto DevOps는 어떤 Kubernetes 클러스터에서도 작동합니다.
  • 추가 비용이 없습니다.
  • 클러스터는 자체 호스팅하거나 모든 공용 클라우드에 있을 수 있습니다.
  • Auto DevOps는 점진적인 졸업 경로를 제공합니다. 사용자 정의가 필요한 경우 템플릿을 변경하고 거기서부터 진화할 수 있습니다.

Auto DevOps 시작하기

시작하려면 Auto DevOps를 활성화하기만 하면 됩니다. 이것으로 Auto DevOps 파이프라인이 실행되어 애플리케이션을 빌드하고 테스트할 수 있습니다.

앱을 빌드, 테스트, 배포하려면:

  1. 배포 요구 사항을 확인합니다.
  2. Auto DevOps를 활성화합니다.
  3. 앱을 클라우드 공급자에 배포합니다.

Auto DevOps를 활성화하거나 비활성화하기

인스턴스 유형에 따라 Auto DevOps를 다음 수준에서 활성화하거나 비활성화할 수 있습니다:

인스턴스 유형 프로젝트 그룹 인스턴스 (관리 영역)
GitLab SaaS 사용 사용 사용 안 함
GitLab Self-managed 사용 사용 사용

Auto DevOps를 활성화하기 전에 배포를 준비했는지 고려해 보세요. 그렇지 않으면 Auto DevOps는 앱을 빌드하고 테스트할 수 있지만, 배포할 수는 없습니다.

프로젝트 수준

개별 프로젝트에서 Auto DevOps를 사용하려면 프로젝트마다 활성화할 수 있습니다. 여러 프로젝트에 사용하려면 그룹이나 인스턴스에서 활성화할 수도 있습니다. 이렇게 하면 각 프로젝트에서 활성화할 필요가 없으므로 시간을 절약할 수 있습니다.

전제 조건:

  • 프로젝트에 대해 적어도 Maintainer 역할이 있어야 합니다.
  • 프로젝트에 .gitlab-ci.yml 파일이 없어야 합니다. 파일이 있는 경우에는 CI/CD 구성이 Auto DevOps 파이프라인을 우선시합니다.

프로젝트에서 Auto DevOps를 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Auto DevOps를 확장합니다.
  4. 기본 Auto DevOps 파이프라인으로 설정 확인란을 선택합니다.
  5. 옵션적으로 권장됩니다. 기본 도메인을 추가합니다.
  6. 옵션적으로 권장됩니다. 배포 전략을 선택합니다.
  7. 변경 사항 저장을 선택합니다.

GitLab은 기본 브랜치에서 Auto DevOps 파이프라인을 트리거합니다.

비활성화하려면 동일한 과정을 따르고 기본 Auto DevOps 파이프라인으로 설정 확인란을 해제합니다.

그룹 레벨에서

그룹 레벨에서 Auto DevOps를 활성화하면 해당 그룹의 하위 그룹 및 프로젝트가 구성을 상속받습니다. 각 하위 그룹이나 프로젝트마다 개별적으로 활성화하는 대신 그룹 자체에 대해 Auto DevOps를 활성화하여 시간을 절약할 수 있습니다.

그룹에서 활성화한 경우 원치 않는 하위 그룹 및 프로젝트에서는 Auto DevOps를 비활성화할 수 있습니다.

필수 조건:

  • 그룹의 소유자 역할이 있어야 합니다.

그룹에 대해 Auto DevOps를 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Auto DevOps를 확장합니다.
  4. 기본 Auto DevOps 파이프라인으로 설정 확인란을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

그룹 레벨에서 Auto DevOps를 비활성화하려면 동일한 프로세스를 따라가서 기본 Auto DevOps 파이프라인으로 설정 확인란을 해제합니다.

그룹 레벨에서 Auto DevOps를 활성화한 후 해당 그룹에 속한 모든 프로젝트에서 Auto DevOps 파이프라인을 트리거할 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 프로젝트에 .gitlab-ci.yml 파일이 포함되어 있지 않은지 확인합니다.
  3. 빌드 > 파이프라인을 선택합니다.
  4. Auto DevOps 파이프라인을 트리거하려면 파이프라인 실행을 선택합니다.

인스턴스 레벨에서

Tier: Free, Premium, Ultimate Offering: Self-managed, GitLab Dedicated

모든 프로젝트에 대해 기본적으로 Auto DevOps를 활성화하려면 인스턴스 레벨에서 활성화할 수 있습니다. 원치 않는 그룹 및 프로젝트에서는 여전히 Auto DevOps를 비활성화할 수 있습니다.

인스턴스에서 비활성화되더라도 그룹 소유자 및 프로젝트 유지관리자는 그룹 및 프로젝트 레벨에서 Auto DevOps를 활성화할 수 있습니다.

필수 조건:

  • 인스턴스의 관리자이어야 합니다.

인스턴스에서 Auto DevOps를 활성화하려면:

  1. 왼쪽 사이드바에서 가장 아래에 위치한 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Auto DevOps를 확장합니다.
  4. 기본 Auto DevOps 파이프라인으로 설정 확인란을 선택합니다.
  5. 선택 사항. Auto DevOps 기본 도메인을 추가합니다.
  6. 변경 사항 저장을 선택합니다.

활성화된 상태에서 Auto DevOps는 모든 프로젝트에서 파이프라인을 실행하려고 시도합니다. 특정 프로젝트에서 파이프라인이 실패하는 경우 자체로 비활성화됩니다. GitLab 관리자는 Auto DevOps 설정에서 이를 변경할 수 있습니다.

.gitlab-ci.yml 파일이 있는 경우에는 해당 사항이 변경되지 않으며 Auto DevOps는 영향을 미치지 않습니다.

인스턴스 레벨에서 Auto DevOps를 비활성화하려면 동일한 프로세스를 따라가서 기본 Auto DevOps 파이프라인으로 설정 확인란을 해제합니다.

클라우드 공급 업체에 앱 배포

GitLab 업데이트 시 Auto DevOps 의존성 업그레이드

GitLab을 업데이트할 때 새로운 GitLab 버전과 일치하도록 Auto DevOps 의존성을 업그레이드해야 할 수 있습니다:

프라이빗 레지스트리 지원

Auto DevOps에서 프라이빗 컨테이너 레지스트리를 사용할 수 있는 보장이 없습니다.

대신 Auto DevOps와 함께 GitLab 컨테이너 레지스트리를 사용하여 구성을 간소화하고 예상치 못한 문제를 방지하세요.

프록시 뒤에서 애플리케이션 설치

GitLab이 Helm과 통합되어 있으면 프록시 뒤에서 애플리케이션을 설치하는 것을 지원하지 않습니다.

원한다면 실행 시 설치된 피드 인 접두어 설정을 해야 합니다.

관련 주제

문제 해결

Auto DevOps 문제 해결을 참조하세요.