Amplify의 Multi Environment에서 개인적으로하는 일 🚀
2896 단어 amplify
12월 16일을 담당하는 Dyson입니다.
오늘은 내 생일입니다
Amplify의 Multi Environment를 사용하면 같은 코드로 환경을 분리할 수 있습니다.
예를 들어, 상용 환경, 스테이징 환경 및 개발 환경의 분리는 amplify에서 수행할 수 있습니다.
개발을 해 나가는데는 꽤 편리합니다.
참고: Amplify Multi Environment에서 팀 개발을 준비
htps : // v.ぁsss d. jp / rc c / s / a mp ぃ fy - l chen v - t me - v /
multienv는 편리하지만 Git 브랜치 전환시 env 전환
잊어 버리거나 자동으로 다시 쓰는 별도의 env 설정 파일에서 충돌이 일어나기 때문에
개인적으로 하고 있는 일을 소개합니다.
1. Git 브랜치 전환시 env 전환을 잊지 않도록 방지
전환할 스크립트를 만들었습니다.
#!/bin/sh
declare -A branches=(
["prod"]="master"
["staging"]="staging"
["dev"]="develop"
)
PS3="Select checkout env: "
select selected in "${!branches[@]}"
do
target=$selected
break
done
echo "Checkout: $target"
git checkout ${branches[$target]} && amplify env checkout $target
$bin/checkkout-env.sh
1) dev
2) prod
3) staging
Select checkout env: 2
Checkout: prod
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
✔ Initialized provider successfully.
Initialized your environment successfully.
런타임에 env를 숫자로 지정합니다. (이전에는 인수로 env를 지정했지만 선택 표현식으로 변경했습니다.)
env의 전환을 먼저 실시하면 파일의 재기록에 의해 Git 브랜치를 변경할 수 없기 때문에 먼저 Git 브랜치 전환을 실행하고 있습니다.
※env명과 브랜치명은 각자의 환경에 맞추어 스크립트의 변경이 필요하게 됩니다.
2. 다른 env의 설정 파일로 경합을 회피한다
Amplify env를 전환하거나 amplify push를 할 때 설정 파일과 CloudFormation
템플릿이 업데이트됩니다.
.gitignore에서 파일을 제외하는 방법도 있지만 관리 대상에서 제외하고 싶지 않았기 때문에
.git/config와 .gitattributes에 충돌시 자체 분기의 파일을 선호하는 설정을 추가했습니다.
[merge "ours"]
name = "Keep ours merge"
driver = true
src/aws-exports.js merge=ours
amplify/team-provider-info.json merge=ours
amplify/backend/api/*/build/cloudformation-template.json merge=ours
amplify/backend/api/*/build/parameters.json merge=ours
amplify/backend/auth/*/parameters.json merge=ours
amplify/backend/function/*/*-cloudformation-template.json merge=ours
그 외 이런 궁리를 하고 있다든가 있으면 가르쳐 주세요!
그럼 Merry Amplify
Reference
이 문제에 관하여(Amplify의 Multi Environment에서 개인적으로하는 일 🚀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dyson-udonsin/items/d709c2216487d8b84681텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)