AWS CodeCommit/Amplify를 통한 NextJS 배포
aws cli v2을 사용하고 있습니다. 필요한 경우 버전을 업그레이드할 수 있습니다. 또한 필수 인증 구성으로 CLI를 설정했는지 확인하십시오.
$ aws --version
aws-cli/2.4.27 Python/3.8.8 Linux/4.14.262-200.489.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off
내가 사용하고 있는 사용자 ID에는 관리자 권한 🔥이 있으므로 저장소를 만드는 동안 문제가 없어야 합니다. 관리자가 아닌 경우 IAM 사용자는 CodeCommit policies으로 설정되어야 합니다.
계속해서 저장소를 만들어 보겠습니다.
$ aws codecommit create-repository --repository-name next-js-boilerplate --repository-description "Boilerplate code for NextJS" --tag "code=JavaScript,framework=NextJS"
{
"repositoryMetadata": {
"accountId": "<account-id>",
"repositoryId": "<repository-id>",
"repositoryName": "next-js-boilerplate",
"repositoryDescription": "Boilerplate code for NextJS",
"lastModifiedDate": "2022-03-19T08:17:28.327000+00:00",
"creationDate": "2022-03-19T08:17:28.327000+00:00",
"cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/next-js-boilerplate",
"cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/next-js-boilerplate",
"Arn": "arn:aws:codecommit:us-east-2:<account-id>:next-js-boilerplate"
}
}
저장소 📁이 생성되고 저장소 목록에 나타나야 합니다.
$ aws codecommit list-repositories --output text
REPOSITORIES <repository-id> next-js-boilerplate
브라우저의 AWS 콘솔에서도 확인할 수 있습니다.
SSH 공개 키를 AWS 사용자 계정에 업로드해야 하는 SSH를 통해 리포지토리에 연결할 것입니다. 그러나 그 전에 SSH 키가 이미 생성되었는지 확인해야 합니다. SSH 키 쌍을 생성하는 방법을 알고 싶다면 이 문서link를 참조하십시오. 내 시스템의 공개 키는 ~/.ssh/id_rsa.pub와 같은 표준 위치에 있습니다.
이 키 🔑를 업로드하고 공개 키 ID를 검색해 봅시다.
$ SSHPublicKeyId=$(aws iam upload-ssh-public-key --user-name nc --ssh-public-key-body file://~/.ssh/id_rsa.pub --output text --query SSHPublicKey.SSHPublicKeyId)
SSH config를 설정하고 파일의 소유자(현재 사용자)만 접근(읽기 + 쓰기)할 수 있도록 권한을 수정합니다.
$ cat > ~/.ssh/config <<EOF
Host git-codecommit.*.amazonaws.com
User $SSHPublicKeyId
EOF
$ chmod 600 ~/.ssh/config
GIT SSH URL을 가져온 다음 복제해 보겠습니다.
$ gitUrl=$(aws codecommit get-repository --repository-name next-js-boilerplate --query repositoryMetadata.cloneUrlSsh --output text)
$ git clone $gitUrl
Cloning into 'next-js-boilerplate'...
warning: You appear to have cloned an empty repository.
리포지토리를 성공적으로 복제했습니다. 여기에 코드를 추가해 보겠습니다. NextJS 프로젝트를 부트스트랩하기 위해 npx를 사용할 수 있습니다. install nodejs/npm ) 시스템에 아직 존재하지 않는 경우
$ cd next-js-boilerplate/
$ npx create-next-app@latest
✔ What is your project named? … next-js-boilerpate
이렇게 하면 NextJS 프로젝트가 설치되고, 같은 이름의 하위 디렉터리도 생성되므로 하위 디렉터리의 콘텐츠를 기본 디렉터리로 이동해 보겠습니다.
$ mv next-js-boilerplate/.* .
$ mv next-js-boilerplate/* .
$ rmdir next-js-boilerplate/
$ ls -a
. .eslintrc.json .gitignore node_modules package-lock.json public styles
.. .git next.config.js package.json pages README.md
이제 코드를 저장소로 푸시할 수 있습니다.
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.eslintrc.json
.gitignore
README.md
next.config.js
package-lock.json
package.json
pages/
public/
styles/
$ git add .
$ git commit -m 'adding nextjs boiler plate code'
$ git push
AWS 콘솔에서 이를 확인할 수 있습니다.
🆒 이제 AWS Amplify를 통해 이 코드를 배포할 수 있습니다. 이를 위해 GUI를 사용하겠습니다.
Amplify를 검색하고 새 앱을 생성한 다음 CodeCommit을 선택합니다.
다음 단계는 올바른 저장소와 분기를 선택하는 것입니다.
Jus는 변경 사항 없이 마지막 단계를 계속 진행하고 배포합니다.
몇 분 ⏱️ 안에 앱이 배포됩니다. 4단계(프로비저닝, 빌드, 배포 및 검증)가 성공해야 합니다. 테스트가 작성되지 않았기 때문에 여기에서 사용하지 않은 테스트 단계도 있어야 합니다.
이제 위에 제공된 https 링크를 클릭하여 ▶️ 지원서를 볼 수 있습니다.
따라서 CodeCommit 및 Amplify의 일부를 살펴보았습니다. CLI는 AWS CLI의 성능을 확인하기 위해 CodeCommit과 함께 사용했으며 이를 통해 많은 클라우드 작업이 가능하다고 생각합니다. 환경 변수, 빌드 명령 수정 등을 사용하여 Amplify 배포를 사용자 지정할 수 있습니다.
그게 다야, 🙂 읽어줘서 고마워...
Reference
이 문제에 관하여(AWS CodeCommit/Amplify를 통한 NextJS 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/nextjs-deployment-via-aws-codecommit-amplify-6oj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)