Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

GitHub Actions Importer를 사용하여 마이그레이션 자동화

GitHub Actions Importer을(를) 사용하여 GitHub Actions로 마이그레이션을 계획하고 자동화합니다.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

법적 고지 사항

GitHub Actions Importer 정보

GitHub Actions Importer를 사용하여 AZURE DevOps, CircleCI, GitLab, Jenkins 및 Travis CI에서 GitHub Actions로 CI/CD 파이프라인을 계획하고 자동으로 마이그레이션할 수 있습니다.

GitHub Actions Importer은(는) Docker 컨테이너로 배포되며 GitHub CLI 확장을 사용하여 컨테이너와 상호 작용합니다.

GitHub Actions Importer에 의해 변환된 워크플로는 프로덕션 워크로드로 사용하기 전에 정확성을 검사해야 합니다. 목표는 모든 워크플로에 대해 80%의 변환률을 달성하는 것이지만 실제 변환 속도는 변환되는 각 개별 파이프라인의 구성에 따라 달라집니다.

지원되는 CI 플랫폼

GitHub Actions Importer을(를) 사용하여 다음 플랫폼에서 마이그레이션할 수 있습니다.

  • Azure DevOps
  • Bamboo
  • CircleCI
  • GitLab
  • Jenkins
  • Travis CI

사전 요구 사항

GitHub Actions Importer에는 다음과 같은 요구 사항이 있습니다.

  • Linux 기반 컨테이너를 실행하고 필요한 도구를 설치할 수 있는 환경입니다.

    참고: GitHub Actions Importer 컨테이너 및 CLI는 CI 플랫폼과 동일한 서버에 설치할 필요가 없습니다.

GitHub Actions Importer CLI 확장 설치

  1. GitHub Actions Importer CLI 확장을 설치합니다.

    Shell
    gh extension install github/gh-actions-importer
  2. 확장이 설치되어 있는지 확인합니다.

    $ gh actions-importer -h
    Options:
      -?, -h, --help  Show help and usage information
    
    Commands:
      update     Update to the latest version of GitHub Actions Importer.
      version    Display the version of GitHub Actions Importer.
      configure  Start an interactive prompt to configure credentials used to authenticate with your CI server(s).
      audit      Plan your CI/CD migration by analyzing your current CI/CD footprint.
      forecast   Forecast GitHub Actions usage from historical pipeline utilization.
      dry-run    Convert a pipeline to a GitHub Actions workflow and output its yaml file.
      migrate    Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.
    

GitHub Actions Importer CLI 업데이트

최신 버전의 GitHub Actions Importer을(를) 실행하려면 명령을 정기적으로 실행 update 해야 합니다.

$ gh actions-importer update

명령줄에서 인증

GitHub Actions Importer이(가) GitHub 및 현재 CI 서버와 통신할 수 있도록 자격 증명을 구성해야 합니다. 환경 변수 또는 파일을 사용하여 이러한 자격 증명을 .env.local 구성할 수 있습니다. 다음 명령을 실행하여 대화형 프롬프트에서 환경 변수를 구성할 수 있습니다.

$ gh actions-importer configure

GitHub Actions Importer CLI 사용

gh actions-importer 하위 명령을 사용하여 , , forecast``dry-run및 를 포함하여 auditGitHub Actions로 마이그레이션을 migrate시작합니다.

기존 CI 파이프라인 감사

audit 하위 명령을 사용하여 현재 CI/CD 공간을 분석하여 CI/CD 마이그레이션을 계획할 수 있습니다. 이 분석을 사용하여 GitHub Actions로 마이그레이션하기 위한 타임라인 계획할 수 있습니다.

감사를 실행하려면 다음 명령을 사용하여 사용 가능한 옵션을 결정합니다.

$ gh actions-importer audit -h
Description:
  Plan your CI/CD migration by analyzing your current CI/CD footprint.

[...]

Commands:
  azure-devops  An audit will output a list of data used in an Azure DevOps instance.
  bamboo        An audit will output a list of data used in a Bamboo instance.
  circle-ci     An audit will output a list of data used in a CircleCI instance.
  gitlab        An audit will output a list of data used in a GitLab instance.
  jenkins       An audit will output a list of data used in a Jenkins instance.
  travis-ci     An audit will output a list of data used in a Travis CI instance.

사용량 예측

forecast 하위 명령은 기록 파이프라인 사용량을 검토하여 GitHub Actions 사용량에 대한 예측을 만듭니다.

예측을 실행하려면 다음 명령을 사용하여 사용 가능한 옵션을 결정합니다.

$ gh actions-importer forecast -h
Description:
  Forecasts GitHub Actions usage from historical pipeline utilization.

[...]

Commands:
  azure-devops  Forecasts GitHub Actions usage from historical Azure DevOps pipeline utilization.
  bamboo        Forecasts GitHub Actions usage from historical Bamboo pipeline utilization.
  jenkins       Forecasts GitHub Actions usage from historical Jenkins pipeline utilization.
  gitlab        Forecasts GitHub Actions usage from historical GitLab pipeline utilization.
  circle-ci     Forecasts GitHub Actions usage from historical CircleCI pipeline utilization.
  travis-ci     Forecasts GitHub Actions usage from historical Travis CI pipeline utilization.
  github        Forecasts GitHub Actions usage from historical GitHub pipeline utilization.

마이그레이션 프로세스 테스트

dry-run 하위 명령을 사용하여 파이프라인을 해당 GitHub Actions로 변환한 다음, 워크플로를 로컬 파일 시스템에 쓸 수 있습니다.

시험 실행을 수행하려면 다음 명령을 사용하여 사용 가능한 옵션을 결정합니다.

$ gh actions-importer dry-run -h
Description:
  Convert a pipeline to a GitHub Actions workflow and output its yaml file.

[...]

Commands:
  azure-devops  Convert an Azure DevOps pipeline to a GitHub Actions workflow and output its yaml file.
  bamboo        Convert a Bamboo pipeline to GitHub Actions workflows and output its yaml file.
  circle-ci     Convert a CircleCI pipeline to GitHub Actions workflows and output the yaml file(s).
  gitlab        Convert a GitLab pipeline to a GitHub Actions workflow and output the yaml file.
  jenkins       Convert a Jenkins job to a GitHub Actions workflow and output its yaml file.
  travis-ci     Convert a Travis CI pipeline to a GitHub Actions workflow and output its yaml file.

파이프라인을 GitHub Actions로 마이그레이션

migrate 하위 명령을 사용하여 파이프라인을 해당 GitHub Actions 변환한 다음 콘텐츠를 사용하여 끌어오기 요청을 만들 수 있습니다.

마이그레이션을 실행하려면 다음 명령을 사용하여 사용 가능한 옵션을 결정합니다.

$ gh actions-importer migrate -h
Description:
  Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.

[...]

Commands:
  azure-devops  Convert an Azure DevOps pipeline to a GitHub Actions workflow and open a pull request with the changes.
  bamboo        Convert a Bamboo pipeline to GitHub Actions workflows and open a pull request with the changes.
  circle-ci     Convert a CircleCI pipeline to GitHub Actions workflows and open a pull request with the changes.
  gitlab        Convert a GitLab pipeline to a GitHub Actions workflow and open a pull request with the changes.
  jenkins       Convert a Jenkins job to a GitHub Actions workflow and open a pull request with the changes.
  travis-ci     Convert a Travis CI pipeline to a GitHub Actions workflow and and open a pull request with the changes.

IssueOps를 사용하여 셀프 서비스 마이그레이션 수행

GitHub Actions 및 GitHub Issues를 사용하여 GitHub Actions Importer에 대한 CLI 명령을 실행할 수 있습니다. 이렇게 하면 로컬 컴퓨터에 소프트웨어를 설치하지 않고 CI/CD 워크플로를 마이그레이션할 수 있습니다. 이 방법은 GitHub Actions로 셀프 서비스 마이그레이션을 사용하도록 설정하려는 조직에 특히 유용합니다. IssueOps가 구성되면 사용자는 관련 템플릿에 대한 문제를 열어 파이프라인을 GitHub Actions로 마이그레이션할 수 있습니다.

IssueOps를 사용하여 셀프 서비스 마이그레이션을 설정하는 방법에 대한 자세한 내용은 템플릿 리포지토리를 actions/importer-issue-ops 참조하세요.

GitHub Actions Importer 랩 리포지토리 사용

GitHub Actions Importer 랩 리포지토리에는 GitHub Actions Importer을(를) 사용하는 방법과 GitHub Actions로 마이그레이션하는 방법을 알려주는 플랫폼별 학습 경로가 포함되어 있습니다. 이 리포지토리를 사용하여 GitHub Actions Importer을(를) 사용하여 GitHub Actions로의 마이그레이션을 계획, 예측 및 자동화하는 방법을 알아볼 수 있습니다.

자세한 내용은 GitHub Actions Importer 랩 리포지토리를 참조하세요.

일부는 MIT 라이선스에 따라 조정 https://github.com/github/gh-actions-importer/ 되었습니다.

MIT License

Copyright (c) 2022 GitHub

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.