GitLab CI/CD 예시
이 페이지에는 GitLab CI/CD를 특정 사용 사례에 맞게 구현하는 방법을 이해하는 데 도움이 되는 다양한 예시에 대한 링크가 포함되어 있습니다.
예시는 여러 형태로 제공됩니다. 다음을 포함합니다:
- 많은 일반 프레임워크와 프로그래밍 언어에 대한 GitLab에서 유지하는
.gitlab-ci.yml
템플릿 파일. - 다양한 언어를 위한 예시 프로젝트가 있는 리포지터리. 여러분이 fork하여 자신의 요구에 맞게 수정할 수 있습니다. 프로젝트에는 NGINX로 제공되는 정적 사이트를 사용하는 리뷰 앱의 예시가 포함됩니다.
- 아래 나열된 예시 및 기타 리소스.
CI/CD 예시
다음 표에는 이 섹션에 포함된 단계별 자습서를 가진 예시가 나열되어 있습니다:
사용 사례 | 리소스 |
---|---|
Dpl을 사용한 배포 |
배포 도구로서 dpl 사용 참조
|
GitLab Pages | 완전한 예시로 정적 사이트를 배포하는 것을 보려면 GitLab Pages 문서를 참조하세요. |
엔드 투 엔드 테스트 | GitLab CI/CD 및 WebdriverIO로 엔드 투 엔드 테스트 참조 |
다중 프로젝트 파이프라인 | 다중 프로젝트 파이프라인을 활용한 빌드, 테스트, 배포 참조 |
시맨틱 릴리스를 활용한 npm | 시맨틱 릴리스를 통해 GitLab 패키지 레지스트리에 npm 패키지를 게시하는 방법에 대한 정보는 여기를 참조하세요 |
Laravel 및 Envoy를 사용한 PHP | GitLab CI/CD 및 Envoy로 Laravel 애플리케이션을 테스트하고 배포하는 방법에 대한 자세한 내용은 Laravel 애플리케이션 테스트 및 배포을 참조하세요. |
PHPUnit, atoum 를 사용한 PHP
| PHP 프로젝트 테스트 참조 |
Vault를 사용한 시크릿 관리 | HashiCorp Vault를 사용한 인증 및 시크릿 읽기에 대한 자세한 내용은 여기를 참조하세요. |
기여된 예시
본인이 선호하는 프로그래밍 언어를 사용하는 사람들에게 유용한 가이드의 링크를 제출하여 도움을 줄 수 있습니다. 이러한 기여된 가이드는 외부에서 제공되거나 별도의 예시 프로젝트에 호스팅됩니다:
사용 사례 | 리소스 |
---|---|
Clojure | GitLab CI/CD로 Clojure 애플리케이션 테스트 참조 |
게임 개발 | GitLab CI/CD로의 DevOps 및 게임 개발 참조 |
Maven으로 Java 프로젝트 배포 | Maven 프로젝트를 GitLab CI/CD로 Artifactory에 배포하는 방법 참조 |
Spring Boot로 Java 배포 | Spring Boot 애플리케이션을 GitLab CI/CD로 Cloud Foundry에 배포하는 방법 참조 |
병렬 테스트 Ruby & JS | Ruby & JavaScript 프로젝트를 위한 병렬 작업 테스트 참조 |
Heroku의 Python | GitLab CI/CD로 Python 애플리케이션 테스트 및 배포 참조 |
Heroku의 Ruby | GitLab CI/CD로 Ruby 애플리케이션 테스트 및 배포 참조 |
Heroku의 Scala | Heroku에 Scala 애플리케이션을 테스트하고 배포 참조 |
CI/CD 템플릿
좋아하는 프로그래밍 언어나 프레임워크를 사용하여 .gitlab-ci.yml
템플릿을 사용하여 GitLab CI/CD를 시작하세요.
웹 UI에서 .gitlab-ci.yml
파일을 생성할 때, 여러분은 다음 템플릿 중 하나를 선택할 수 있습니다:
- Android (
Android.gitlab-ci.yml
) - Android with fastlane (
Android-Fastlane.gitlab-ci.yml
) - Bash (
Bash.gitlab-ci.yml
) - C++ (
C++.gitlab-ci.yml
) - Chef (
Chef.gitlab-ci.yml
) - Clojure (
Clojure.gitlab-ci.yml
) - Composer
Composer.gitlab-ci.yml
- Crystal (
Crystal.gitlab-ci.yml
) - Dart (
Dart.gitlab-ci.yml
) - Django (
Django.gitlab-ci.yml
) - Docker (
Docker.gitlab-ci.yml
) - dotNET (
dotNET.gitlab-ci.yml
) - dotNET Core (
dotNET-Core.gitlab-ci.yml
) - Elixir (
Elixir.gitlab-ci.yml
) - Flutter (
Flutter.gitlab-ci.yml
) - Go (
Go.gitlab-ci.yml
) - Gradle (
Gradle.gitlab-ci.yml
) - Grails (
Grails.gitlab-ci.yml
) - iOS with fastlane (
iOS-Fastlane.gitlab-ci.yml
) - Julia (
Julia.gitlab-ci.yml
) - Laravel (
Laravel.gitlab-ci.yml
) - LaTeX (
LaTeX.gitlab-ci.yml
) - Maven (
Maven.gitlab-ci.yml
) - Mono (
Mono.gitlab-ci.yml
) - npm (
npm.gitlab-ci.yml
) - Node.js (
Nodejs.gitlab-ci.yml
) - OpenShift (
OpenShift.gitlab-ci.yml
) - Packer (
Packer.gitlab-ci.yml
) - PHP (
PHP.gitlab-ci.yml
) - Python (
Python.gitlab-ci.yml
) - Ruby (
Ruby.gitlab-ci.yml
) - Rust (
Rust.gitlab-ci.yml
) - Scala (
Scala.gitlab-ci.yml
) - Swift (
Swift.gitlab-ci.yml
) - Terraform (
Terraform.gitlab-ci.yml
) - Terraform (
Terraform.latest.gitlab-ci.yml
)
프로그래밍 언어나 프레임워크 템플릿이 디렉터리에 없는 경우 템플릿을 제공할 수 있습니다. 템플릿을 만들려면 템플릿 디렉터리으로 Merge Request을 제출하십시오.
GitLab 설치에 템플릿 추가하기
Self-managed GitLab 인스턴스에 사용자 정의 예제와 템플릿을 추가할 수 있습니다. 귀하의 GitLab 관리자는 귀하의 조직에 특화된 예제와 템플릿을 포함한 인스턴스 템플릿 리포지터리를 지정할 수 있습니다.
기타 자료
이 섹션은 GitLab CI/CD의 다양한 사용법을 익히는 데 도움이 되는 추가 자료를 제공합니다. 이전의 문서 및 동영상은 최신 GitLab 릴리스의 상태를 반영하지 않을 수 있습니다.
클라우드에서의 CI/CD
클라우드 기반 환경에서 GitLab CI/CD를 설정하는 예제에 대해 다음을 참조하세요:
- GitLab CI를 사용한 멀티 계정 AWS SAM 배포 설정 방법
- 동영상: GitLab CI/CD를 사용한 Kubernetes 배포 자동화
- DigitalOcean에서 GitLab Runner로 지속적 배포 자동 확장하는 방법
- GitLab 및 Helm을 사용하여 Kubernetes에 자동 배포하는 CI/CD 파이프라인 구축 방법
- 동영상: GitLab에서 OpenShift 컨테이너 클러스터로 배포하는 데모
- 튜토리얼: GitLab.com Civo Kubernetes 통합 및 Gitpod 설정 방법
또한 다음의 동영상 개요도 참고하세요:
고객 사례
GitLab CI/CD를 통한 고객 경험에 대해 알아보려면 다음을 참조하세요:
- Verizon Connect가 GitLab을 통해 데이터 센터 배포 시간을 30일에서 8시간 이하로 줄임
- Wag!가 릴리스 과정 시간을 40분에서 6분으로 줄임
- Jaguar Land Rover가 CI를 채택하여 소프트웨어 라이프사이클을 가속화
시작하기
시작하는 데 도움이 되는 몇 가지 예제에 대해 알아보려면 다음을 참조하세요:
GitLab CI/CD 구현
다른 사람들이 GitLab CI/CD를 구현한 예제에 대해 다음을 참조하세요:
- 다중 프로젝트 파이프라인을 통한 다중 리포지터리 간 상호 작용 간소화 방법
- GitLab CI를 사용하여 GitLab을 더 빨리 빌드한 방법
- Docker를 사용한 GitLab CI에서 모든 것 테스트하는 방법 예시
- 전문가의 관점에서 본 지속적 통합
- Go 도구 및 GitLab: 전문가처럼 지속적 통합하는 방법
- CI로 지루한 Git 작업 자동화하기
- Vue.js를 위한 GitLab CI 사용 방법
- 동영상: GitLab CI/CD 심층 분석
- GitLab Review 앱 도커화
- GitLab CI를 통한 빠르고 자연스러운 지속적 통합
- 데모: GitLab에서의 CI/CD 실습
제 3자 CI 도구에서의 GitLab으로의 이관
다른 시스템과의 GitLab CI/CD 통합
GitLab CI/CD를 제 3자 시스템과 통합하는 방법에 대해 알아보려면 다음을 참조하세요:
- Sentry의 GitLab 통합으로 에러 처리 스트림라인화 및 단축
- GitLab CI/CD를 사용하여 스마트 홈 구성 단순화하는 방법
- GitLab + Jira + Jenkins 데모
- GitLab Auto Breakfast 소개
Mobile development
GitLab CI/CD를 사용하여 모바일 애플리케이션 개발에 도움이 필요하면 다음을 참조하세요: