앱 복사
개요
앱의 구성 파일을 재사용하고 시크릿을 수동으로 포팅하여 기존 앱의 사본을 만들 수 있습니다.
다음과 같은 경우 애플리케이션을 복사할 수 있습니다.
개발에는 기능 브랜치를 사용합니다. 충돌을 피하려면 각 기능 브랜치에 대해 고유한 앱 사본을 사용하세요.
앱의 작동 중인 버전에 대해 테스트를 실행합니다. 일관된 시작 상태를 보장하기 위해 각 테스트 실행에 대해 앱을 복사할 수 있습니다.
로컬 배포서버 모델 을 사용하여 여러 리전의 클러스터에 동일한 앱 을 배포 합니다. 앱을 복사하여 로컬에서 여러 리전을 제공 할 수 있습니다.
시작하기 전에
CLI 에서 앱을 복사하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정. 무료 계정을 등록하는 방법을 학습 보려면 Atlas 시작하기를 참조하세요.
MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.
로컬 시스템
PATH
에 설치 및 추가된 App Services CLI의 사본입니다. 방법을 알아보려면 App Services CLI 설치를 참조하세요.
Github 리포지토리 의 구성 파일을 기반으로 앱을 복사하려면 앱에 대해 자동 Github 배포 를 활성화 해야 합니다.
절차
경고
자동 Github 배포 가 활성화된 경우 App Services CLI 를 사용하여 앱에 변경 사항을 푸시하지 마세요. 자세한 내용 은 CLI 에서 변경 방지하기를 참조하세요.
새 앱 만들기
새 빈 앱을 만듭니다. 이름을 선택하고 복사한 앱에서 사용할 배포 모델과 리전을 설정합니다. 자세한 내용 은 앱 만들기를 참조하세요.
예시
# Create the new App appservices app create \ --name "myapp-copy" \ --deployment-model "LOCAL" \ --provider-region "aws-us-west-2"
새 앱으로 시크릿 마이그레이션
앱의 구성 파일에는 시크릿의 이름이나 값이 포함되어 있지 않습니다.
원본 앱의 기존 시크릿 값에 액세스하여 새 앱에 수동으로 추가해야 합니다. 앱에 시크릿이 없는 경우 이 단계를 건너뛸 수 있습니다.
원본 앱의 시크릿을 추가하려면 다음을 수행합니다.
시크릿 보기 문서에 따라 내보낸 앱 에서 모든 시크릿의 이름을 가져옵니다.
모든 시크릿의 이름을 안전한 위치에 저장합니다. 이 목록에는 실제 시크릿 값이 포함되지 않지만, 새 앱에 추가할 시크릿 이름 목록이 있으면 유용합니다.
원본 앱의 각 시크릿 값을 찾습니다.
각 시크릿을 새 앱에 개별적으로 추가합니다. 방법을 학습 보려면 시크릿 정의를 참조하세요.
중요
구성 파일을 복사하기 전에 시크릿 추가하기
일부 App Services 기능의 경우, 기능 을 정의하고 사용하기 전에 하나 이상의 비밀을 정의해야 합니다. 예를 예시 OAuth 인증 제공자에게는 clientSecret
값이 포함된 시크릿이 필요합니다.
정의되지 않은 시크릿을 참조하는 구성 파일을 푸시하면 배포가 실패합니다.
구성 파일 복사
원본 앱 구성 파일의 최신 버전을 로컬 파일 시스템으로 가져옵니다. 방법을 학습 보려면 앱 내보내기를 참조하세요.
예시
# Pull the config files for an existing App appservices pull --remote="myapp-abcde"
root_config.json
을(를) 제외한 원본 앱의 모든 구성 파일을 새 앱의 구성 디렉토리 로 복사합니다. 새 앱의 root_config.json
를 사용하고 다른 구성 파일을 덮어써야 합니다.
예시
# Copy all configuration files except for root_config.json cp -r myapp myapp-temp rm myapp-temp/root_config.json cp -r myapp-temp/* myapp-copy rm -rf myapp-temp
새 앱 만들기
새 빈 앱을 만듭니다. 원본 앱과 동일한 이름을 선택하고 배포서버 모델 및 리전 을 복사한 앱에서 사용할 것으로 설정하다 합니다. 자세한 내용 은 앱 만들기를 참조하세요.
새 앱의 구성 파일이 생성되면 이전 단계에서 생성한 디렉토리 에 저장합니다(아직 저장하지 않은 경우).
예시
# Navigate to the new App's directory cd myapp-copy # Create the new App. The create command saves the new # App's configuration file directory in the current directory appservices app create \ --name "myapp-copy" \ --deployment-model "LOCAL" \ --provider-region "aws-us-west-2" cp -r myapp-copy/* . rm -rf myapp-copy # Navigate back to the root of the repo cd ..
자동 Github 배포 설정
새 앱에서 자동 Github 배포 를 설정하다 하고 활성화 합니다. 원본 앱이 아닌 새 앱에 대해 생성한 리포지토리, 브랜치 및 디렉토리 를 점 야 합니다.
새 앱으로 시크릿 마이그레이션
앱의 구성 파일에는 시크릿의 이름이나 값이 포함되어 있지 않습니다.
원본 앱의 기존 시크릿 값에 액세스하여 새 앱에 수동으로 추가해야 합니다. 앱에 시크릿이 없는 경우 이 단계를 건너뛸 수 있습니다.
원본 앱의 시크릿을 추가하려면 다음을 수행합니다.
시크릿 보기 문서에 따라 내보낸 앱 에서 모든 시크릿의 이름을 가져옵니다.
모든 시크릿의 이름을 안전한 위치에 저장합니다. 이 목록에는 실제 시크릿 값이 포함되지 않지만, 새 앱에 추가할 시크릿 이름 목록이 있으면 유용합니다.
원본 앱의 각 시크릿 값을 찾습니다.
각 시크릿을 새 앱에 개별적으로 추가합니다. 방법을 학습 보려면 시크릿 정의를 참조하세요.
중요
구성 파일을 복사하기 전에 시크릿 추가하기
일부 App Services 기능의 경우, 기능 을 정의하고 사용하기 전에 하나 이상의 비밀을 정의해야 합니다. 예를 예시 OAuth 인증 제공자에게는 clientSecret
값이 포함된 시크릿이 필요합니다.
정의되지 않은 시크릿을 참조하는 구성 파일을 푸시하면 배포가 실패합니다.