InfoGrab Docs

GitHub Actions에서 마이그레이션

GitHub Actions에서 GitLab CI/CD로 마이그레이션하는 방법을 알아봅니다.

GitHub Actions에서 GitLab CI/CD로 마이그레이션하는 경우, GitHub Action 워크플로우를 복제하고 개선하는 CI/CD 파이프라인을 만들 수 있습니다. 주요 유사점 및 차이점 # GitHub Actions와 GitLab CI/CD는 모두 코드 빌드, 테스트, 배포를 자동화하는 파이프라인을 생성하는 데 사용됩니다. 두 도구는 다음과 같은 유사점을 공유합니다: CI/CD 기능이 프로젝트 저장소에 저장된 코드에 직접 접근 가능합니다. 파이프라인 구성은 YAML로 작성되어 프로젝트 저장소에 저장됩니다. 파이프라인은 구성 가능하며 다른 스테이지에서 실행될 수 있습니다. 각 잡은 다른 컨테이너 이미지를 사용할 수 있습니다. 또한, 두 도구 사이에는 몇 가지 중요한 차이점이 있습니다: GitHub에는 서드파티 액션을 다운로드할 수 있는 마켓플레이스가 있으며, 추가 지원이나 라이선스가 필요할 수 있습니다. GitLab Self-Managed는 수평 및 수직 확장을 모두 지원하는 반면, GitHub Enterprise Server는 수직 확장만 지원합니다. GitLab은 모든 기능을 자체적으로 유지 및 지원하며, 일부 서드파티 통합은 템플릿을 통해 접근할 수 있습니다. GitLab은 기본 제공 컨테이너 레지스트리를 제공합니다. GitLab은 네이티브 Kubernetes 배포 지원을 제공합니다. GitLab은 세분화된 보안 정책을 제공합니다. 기능 및 개념 비교 # 많은 GitHub 기능과 개념은 동일한 기능을 제공하는 GitLab의 동등 개념이 있습니다. 구성 파일 # GitHub Actions는 워크플로우 YAML 파일 로 구성할 수 있습니다. GitLab CI/CD는 기본적으로 .gitlab-ci.yml YAML 파일을 사용합니다. 예를 들어, GitHub Actions workflow 파일에서: on: [ push ] jobs: hello: runs-on: ubuntu-latest steps: - run: echo "Hello World" 동등한 GitLab CI/CD .gitlab-ci.yml 파일은 다음과 같습니다: stages: - hello hello: stage: hello script: - echo "Hello World" GitHub Actions 워크플로우 구문 # GitHub Actions 구성은 특정 키워드를 사용하는 workflow YAML 파일에 정의됩니다. GitLab CI/CD도 유사한 기능을 가지며, 일반적으로 YAML 키워드로 구성됩니다. GitHub GitLab 설명 env variables env 는 워크플로우, 잡 또는 스텝에 설정된 변수를 정의합니다. GitLab은 variables 를 사용하여 전역 또는 잡 수준에서 CI/CD 변수 를 정의합니다. 변수는 UI에서도 추가할 수 있습니다. jobs stages jobs 는 워크플로우에서 실행되는 모든 잡을 그룹화합니다. GitLab은 stages 를 사용하여 잡을 그룹화합니다. on 해당 없음 on 은 워크플로우가 언제 트리거되는지 정의합