nestjs git actions ci cd
-
9. NestJs & Git Actions CI/CD - [ AWS EC2 배포 ] - https공부하기/node.js 2023. 2. 5. 16:43
ssl 인증서 발급 1. AWS Sertificate Manager 페이지에 접속 -> 인증서 요청 버튼 클릭 2. 퍼블릭 인증서 요청 -> 다음 버튼 클릭 3. 도메인 & www.도메인 적용 -> 다음 버튼 클릭 Route53 레코드 생성 1. ACM 페이지 -> 검증 대기 중인 인증서 ID 클릭 2. 도메인 테이블 -> Route 53에서 레코드 생성 버튼 클릭 3. 레코드 생성 버튼 클릭 4. 1~3분 뒤 인증서 발급 확인 ec2 인스턴스 로드밸런싱 생성 1. ec2 페이지 접속 -> 사이드바 로드벨런싱-로드벨런서 클릭 2. Create load balancer 버튼 클릭 3. Application Load Balancer -> Create 버튼 클릭 4. 로드벨런서 이름 입력 5. subnet 전..
-
8. NestJs & Git Actions 통한 CI/CD - [ AWS EC2 배포 ] - 자동배포 (2)카테고리 없음 2023. 2. 3. 22:21
EC2 IAM 설정 저는 미리 만들어서 링크의 4번, 5번을 참조해주세요 ec2 인스턴스 aws-cli 설치 sudo yum install -y aws-cli cd /home/ec2-user sudo aws configure ### AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: ap-northeast-2 Default output format [None]: json ### ec2 인스턴스 codeDeploy agent 설치 sudo yum update sudo yum install ruby sudo yum install wget cd /home/ec2-user # 서울 리전일 경우 wget https:..
-
7. NestJs & Git Actions CI/CD - [ AWS EC2 배포 ] - 자동배포 (1)공부하기/node.js 2023. 2. 3. 20:44
[AWS EC2 배포] - 기본편에서 발생한 문제점 3번을 해결하는 글입니다 지금까지 저는 [ 작업 코드를 레파지토리에 푸쉬 -> ec2 인스턴스에 접근 -> pm2를 사용한 재배포 -> nginx 재실행 ]등의 작업들을 수동으로 진행했습니다. 이러한 귀찮고 반복적인 작업들을 자동화할 생각입니다. 이번 글에서는 git actions를 통해 s3 버킷에 build된 zip파일을 올리는것까지 자동으로 만들어보겠습니다. 준비물 1. s3 버킷 => build 된 애플리케이션.zip 파일을 업로드하기 위해서 필요합니다. 2. IAM 유저 (S3FullAccess 권한, CodeDeployFullAccess 권한) => git actions로 s3, codeDeploy를 컨트롤하기 위해서 필요합 니다. 3. Co..
-
5. NestJs & Git Actions CI/CD - [ AWS EC2 배포 ] - pm2공부하기/node.js 2023. 2. 2. 23:17
[AWS EC2 배포] - 기본편에서 발생한 문제점 1번을 해결하는 글입니다. 인스턴스에 접근한 터미널을 종료하고도 애플리키에션을 실행 상태로 유지하기 터미널로 인스턴스에 접근한 뒤 npm i -g pm2 cd ./프로젝트_디렉토리/dist pm2 start main.js pm2 list pm2[바로가기]는 백그라운드에서 실행되는 데몬 프로세스입니다. pm2를 활용하면 인스턴스로 접근한 터미널을 종료하더라도 애플리케이션의 온라인 상태를 유지할 수 있습니다.
-
4. NestJs & Git Actions CI/CD - [ AWS EC2 배포 ]공부하기/node.js 2023. 2. 1. 23:44
지난 글에서 EC2 인스턴스 접근을 다뤄보았습니다. 이 글은 생성된 EC2 인스턴스에 nest-cli로 생성한 프로젝트의 아주 간단한 배포를 기록합니다. 인스턴스에 접근한 초기 상태로 가정하고 글을 작성합니다. 1. AWS-EC2 인스턴스에서 yum 명령을 통해 git을 설치합니다. sudo yum update sudo yum install git git --version 2. Node.js를 설치합니다. [ CASE_1 ] curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash . ~/.nvm/nvm.sh nvm install 16 node -v npm -v [ CASE_2 ] nvm list nvm uninstal..
-
3. NestJs & Git Actions CI/CD - [ AWS EC2 접속 ]공부하기/node.js 2023. 2. 1. 23:12
지난 글에서 AWS-EC2 인스턴스를 생성했습니다. 인스턴스 생성 중 ssh 접속을 위한 체크박스를 체크한 뒤 인스턴스를 생성했으므로 인스턴스는 자동적으로 ssh 접속을 위한 22번 인바운드 포트가 개방된 상태로 생성이 되었습니다. 이제 터미널을 통해서 생성된 인스턴스에 접근합니다. 터미널을 켜고 인스턴스를 생성할 때 다운로드한 키페어가 저장되어 있는 위치로 이동합니다. 해당 디렉토리에서 다시한번 pem키가 디렉토리에 존재하는지 확인합니다. 다운로드된 키페어의 권한을 변경해줍니다. chmod는 나/그룹/전체 에 따른 권한을 부여하는 리눅스 명령입니다. 각각 read(4), write(2), execute(1)의 권한을 부여할 수 있습니다. 400의 경우 나(read권한 허용) /그룹(권한없음)/ 전체(권..
-
2. NestJs & Git Actions CI/CD - [ AWS EC2 생성 ]공부하기/node.js 2023. 2. 1. 22:34
nest-cli를 통해서 만든 프로젝트를 AWS-EC2에 배포하는 글입니다. 저는 프리티어 유저가 아니기 때문에 추가 요금이 발생하는 부가적인 기능은 전부 사용하지 않습니다. 1. 먼저 AWS 홈페이지에 접속 후 로그인합니다. 2. 로그인 후 검색창에 EC2를 검색 후 결과로 나온 EC2를 클릭합니다. 3. 인스턴스 시작 버튼을 클릭합니다. 4. 인스턴스를 생성합니다. --> 위 이미지에서 키페어 생성을 누르면 생성된 키페어가 다운로드됩니다. --> 다운로드 된 키페어를 통해 서버로 접근할 수 있습니다. --> 키페어는 노출되어서는 안됩니다. --> 저는 ssh 접속만 필요하기 때문에 SSH 트래픽 허용 클릭 5. 인스턴스를 생성하면 아래 이미지와 같이 인스턴스가 생성됩니다. 3분정도 기다리시면 인스턴스..
-
1. NestJs & Git Actions CI/CD - [ git actions 추가 ]공부하기/node.js 2023. 1. 31. 07:49
nest-cli를 통해서 프로젝트를 생성했다고 가정합니다. 첫번째 계획은 일단 git -actions를 연결하는것입니다. 일단 테스트 케이스를 통과하면 레파지토리에 push 되도록 하는 부분을 제외합니다. git-actions를 좀 더 자세하게 알기 위해서 공식문서를 참조하여 빠른 시작을 참고했습니다. 시작하기 프로젝트의 / 경로에 .github/workflows 디렉토리를 생성합니다. .github/workflows 디렉토리 내 github-actions.yml 파일을 생성합니다. 아래 코드를 github-actions.yml 파일에 그대로 복사 붙여넣기 합니다. name: GitHub Actions Demo run-name: ${{ github.actor }} is testing out GitHub ..