GitLab CI/CD 예시
Offering: GitLab.com, Self-Managed, GitLab Dedicated
이 페이지에는 특정 사용 사례에 대해 GitLab CI/CD를 구현하는 방법을 이해하는 데 도움이 되는 다양한 예시에 대한 링크가 포함되어 있습니다.
예시는 여러 형태로 제공됩니다. 다음을 포함합니다:
- .gitlab-ci.yml 템플릿 파일은 GitLab에서 관리되며, 다양한 일반적인 프레임워크 및 프로그래밍 언어에 대해 제공됩니다.
- 다양한 언어의 예제 프로젝트가 있는 리포지터리입니다. 이를 fork하여 자신의 필요에 맞게 조정할 수 있습니다. 프로젝트에는 NGINX로 제공되는 정적 사이트를 사용한 리뷰 앱의 예제가 포함되어 있습니다.
- 아래 나열된 예시 및 기타 리소스가 포함되어 있습니다.
CI/CD 예시
다음 표에는 이 섹션에 포함된 단계별 자습서를 제공하는 예시가 나열되어 있습니다:
사용 사례 | 리소스 |
---|---|
Dpl를 사용한 배포 |
배포 도구로 dpl 사용하기.
|
GitLab Pages | 정적 사이트를 배포하는 완전한 예제인 GitLab Pages 문서를 참조하세요. |
End-to-end 테스팅 | GitLab CI/CD 및 WebdriverIO로 End-to-end 테스트. |
다중 프로젝트 파이프라인 | 다중 프로젝트 파이프라인을 사용한 빌드, 테스트, 배포. |
semantic-release를 사용한 npm | semantic-release를 사용하여 GitLab 패키지 레지스트리에 npm 패키지 게시하기. |
Laravel, Envoy를 사용한 PHP | GitLab CI/CD 및 Envoy로 Laravel 애플리케이션 테스트 및 배포. |
npm, SCP를 사용한 PHP | GitLab CI/CD에서 Composer 및 npm 스크립트 실행 및 SCP를 통한 배포. |
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 프로젝트를 위한 GitLab CI/CD 병렬 작업 테스트. |
Heroku의 Python | GitLab CI/CD로 Python 애플리케이션 테스트 및 배포. |
Heroku의 Ruby | GitLab CI/CD로 Ruby 애플리케이션 테스트 및 배포. |
Heroku의 Scala | Heroku로 Scala 애플리케이션 테스트 및 배포. |
CI/CD 템플릿
즐겨 사용하는 프로그래밍 언어 또는 프레임워크로 GitLab CI/CD를 시작하려면 .gitlab-ci.yml
템플릿을 사용하세요.
UI에서 .gitlab-ci.yml
파일을 생성할 때 다음 템플릿 중 하나를 선택할 수 있습니다:
- Android (
Android.gitlab-ci.yml
) - fastlane이 포함된 Android (
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
) - .NET (
dotNET.gitlab-ci.yml
) - .NET 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
) - fastlane이 포함된 iOS (
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 설치에 템플릿 추가하기
Offering: Self-Managed, GitLab Dedicated
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분으로 단축한 경험
- 자귀어 랜드로버가 소프트웨어 수명주기를 가속화하기 위해 CI를 채택한 방법
시작하기
시작하는 데 도움이 되는 예제를 알아보려면 다음을 참조하세요:
GitLab CI/CD 구현
다른 사람들이 GitLab CI/CD를 구현한 예제를 보려면 다음을 참조하세요:
- 다중 프로젝트 파이프라인을 사용하여 여러 리포지터리 간 상호 작용을 간소화하는 방법
- GitLab CI를 사용하여 GitLab을 빌드하는 방법
- 예시로 알아보는 GitLab CI에서 Docker를 사용한 모든 테스트
- 명품으로 하는 지속적 통합
- GitLab 및 고 툴을 사용하여 명품처럼 지속적 통합하는 방법
- GitBot - CI로 지루한 Git 작업 자동화하기
- Vue.js용 GitLab CI 사용 방법
- 비디오: GitLab CI/CD 심층 분석
- GitLab 리뷰 앱의 Docker화
- GitLab CI로 빠르고 자연스러운 지속적 통합
- 데모: GitLab에서의 CI/CD 작업
타사 CI 도구에서 GitLab으로의 이전
다른 도구에서 GitLab CI/CD로의 이전 예제:
다른 시스템과의 GitLab CI/CD 통합
GitLab CI/CD를 타사 시스템과 통합하는 방법을 알아보려면 다음을 참조하세요:
- Sentry의 새로운 GitLab 통합으로 에러 처리를 간소화하고 단축하는 방법
- GitLab CI/CD를 사용하여 스마트 홈 구성을 간소화하는 방법
- 데모: GitLab + Jira + Jenkins
- GitLab의 자동 아침식사 소개 (어느 정도)
모바일 개발
모바일 애플리케이션 개발에 GitLab CI/CD를 사용하는 방법에 대한 도움을 얻으려면 다음을 참조하세요: