묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
배포용 workflow만들기 deploy.yml 에러 질문입니다
해당 강좌에서 secrets key도 github에정상 등록했으나 github action시 SSH and deploy 동작에서 아래와 같은 에러가 발생합니다 deploy.yml
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
섹션1 express
섹션1넘기고 섹션2에서 공유해주시는 express파일로 그냥 진행해도되나요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
git action 배포할때 태스크 env 관련 질문입니다.
마지막 git action으로 배포하고 env보니, 기존에 설정했던 PORT랑 URL 유지가 안되던데.. 방법이 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
[섹션 9] AWS ECS - Service 사용해서 여러개의 Task 생성하고 Load balancer 연결해주기
ecs service 등록하려고 보니, Load balancer 설정 부분에 이렇게 뜨는데,, 제가 Lightsail 볼때 따로 등록 안해줘서 설정 부분이 이렇게 뜨는걸까요? ㅠㅠ ec2에서 설정 따로 해줘야한다는거 같은데 로드밸런싱 활성 작업을 위해서 어떤 어떻게 등록 해야하는 걸까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
캐싱 관련 질문 드립니다.
선생님 안녕하세요.MongoDB에 이어 infra 관련 강의도 잘 수강하고 있습니다.캐싱 관련되어 선생님 의견이 궁금해 질문드립니다. 백그라운드현재 MongoDB + Nest.JS를 사용해 WAS를 구축한 상태입니다.도큐먼트 안에 서브 도큐먼트들이 array 형태로 들어가도록 Model을 설계했는데요, 서브 도큐먼트를 가져올 때 aggregation을 사용해 페이지네이션을 적용했습니다.(처음에 설계 시, 잘 못 생각해 이러한 설계를 하긴 했습니다..)aggregation에는 성능 문제가 따라올 위험이 있을까봐 해당 GET 요청 컨트롤러에는 캐싱을 적용했습니다.문제가 되는 부분은 캐싱처리로 인한 코드의 가독성 저하 입니다.WAS안에서 GET 요청 시 캐싱을 적용하고, POST, PUT, PATCH 요청시에는 캐싱을 지우고 있는데, 비즈니스 로직안에서 이를 처리하다보니 코드의 가독성이 급격히 떨어지더라고요. 제가 생각한 해결 방안이를 해결하기 위해 event emitter를 사용해 캐싱을 비즈니스 로직으로부터 떼어낼까 고민했습니다.다만 이 해결방안은 캐싱처리하는 로직 자체가 하나의 WAS에 존재하고 있어 추후에 또 비슷한 문제가 발생하지 않을까 생각이 들더라고요. 질문선생님께서는 이러한 문제 발생 시 캐싱 처리는 프록시 서버를 띄워서 앞단에서 미리 처리를 하시는지... 아니면 또 다른 좋은 방식으로 설계를 하시는지 궁금해서 질문드립니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
create certificate 할때요..!
Attempting to validate your cerificate... 상태에서 아무리 기다려도 Valid 상태로 넘어가지지가 않습니다.이런경우는 어떤 경우인가요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ssh 터널링으로 vm 접속이 안됩니다.
안녕하세요.며칠 전에 올린 질문 내용과 동일합니다.rsa 키 삭제 후 다시 만들어서 lightsail 터미널에서 authorized_keys에 새로운 rsa.pub 키를 넣어서 다시 접속해봤는데도 접속이 거부됩니다.아무리 찾아보고 권한도 600으로 줘봤지만 해결이 되지 않습니다. 진도를 못 나가고 있는데 도와주세요..ㅠㅠ
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
[배포용 Workflow 만들기] 에러 해결과 아직 남은 에러
에러 해결 infogithub secres 에 SSH_PRIVATE_KEY 저장할때 로컬에서$ cat ~/.ssh/github_id_rsa (뒤에 pub 없는거 )이렇게 조회 한걸 저장 해야 deploy.yml 에서 ssh 연결시에 인증 정보 틀림에 의한 에러가 발생하지 않았습니다 run: | ssh ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_PUBLIC_IP }} " cd sample_express git pull || exit 1 npm install || exit 1 npm run build sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit "그런데 아직 에러가 남아 있는데 코드가 반영된 이후에 에러가 발생 합니다.ex)에러가 발생한 코드name: deployon: push: branches: - mainjobs: deploy: runs-on: ubuntu-latest steps: - name: Set up SSH run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - name: Set up known hosts run: | echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts - name: SSH and deploy run: | ssh ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_PUBLIC_IP }} " cd sample-express2 sudo chown ubuntu:root .git/FETCH_HEAD sudo chmod +w .git/FETCH_HEAD chmod +w .git/FETCH_HEAD git pull || exit 1 npm install || exit 1 npm audit fix npm run build sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit "
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
deploy.yml이 workflow에서 작동되지 않는 이유
섹션 4의 "배포용 Workflow 만들기"를 수강 중 deploy.yml이 진행되지 않습니다..test.yml은 진행이 잘 됩니다뭐가 문제일까요?.yml 파일 작성할 때 들여쓰기가 상관이 있나요?아래는 작성한 deploy.yml 파일입니다.추가로 한 탭씩 들여쓰기 하지 않고 중간 중간에 스페이스 두 번으로 들여쓰기 하는게 있는데, 규칙인가요?- (대시)기호 이것도 규칙인가요? 안 적으면 실행이 안되는건가요? name: deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Set up SSH run: | mkdir -p ~/.ssh/ echo "${{secrets.SSH_PRIVATE_KEY}}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - name: Set up known hosts run: | echo "${{secrets.SSH_KNOWN_HOSTS}}" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts - name: SSH and deploy run: | ssh ${{secrets.SSH_USERNAME}}@${{secrets.SSH_PUBLIC_IP}} " cd express git pull || exit 1 npm install || exit 1 npm run build || exit 1 sudo pkill node || exit 1 sudo npm run start & || exit 1 sudo npm run start & npx wait-on http://localhost exit "
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
SSH 터널링으로 Lightsail VM 접속하기
안녕하세요..! 또 질문을 드려서 너무 죄송합니다.authorized_keys에 제가 만든 public 키를 추가를 해줬는데 터미널로 접속하려고 하니까 아래와 같이 접속이 거부됩니다..! 혹시나 키를 잘못 기입했나 해서 다시 복사해서 넣었는데도 저렇게 거부가 되는데 다른 이유가 있을까요?너무 죄송합니다..!!답변주시면 정말 감사드리겠습니다!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
workflows 내용 질문입니다.
안녕하세요. 강의 잘 보고 잘 따라가고 있습니다! 우선 좋은 강의 제공해주셔서 감사 인사 드립니다!AWS lightsail 부분 수강하고 있는 와중에 workflows 내용에 대한 질문이 생겼습니다.여기 내용을 보면 npm 설치와 redis 설치가 포함되어있는데 저렇게 설치를 하는 곳은 가상 ubuntu 서버에 하는 거라고 보면 될까요? 이미 AWS lightsail 서버에는 node와 npm 및 redis 설치를 다 끝냈는데 매번 pull request 할 때마다 다시 설치가 되는건가 궁금합니다!같은 맥락으로 도커 이미지를 나중에 만들어서 빌드를 하게 된다면 매번 수정된 내용이 반영되는 이미지를 다시 만들어서 그 이미지를 빌드해서 배포를 하는 건가요? 질문은 이 정도로 마치겠습니다! 긴 질문 읽어주셔서 감사합니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
AWS Security Groups 접근시에 AuthFailure 에러가 발생합니다
강사님의 강의를 들으면서 모든 과정 에러없이 다 따라서 진행하였습니다. 완강을 하고 기존에 제가 따로 운영하던 프로젝트를 EC2에서 ECS 배포로 변경하는 작업을 진행하였습니다.제 프로젝트에 ECS 배포와 Github Action 등이 정상적으로 적용된것을 확인하고 강의에서 진행하셨던 리소스들(express-ecs.com)에 대한 cluster, loadbalancer, task definition 등을 삭제하였습니다. 또한, IAM 롤에 대해서도 삭제를 하였는데 해당 리소스들을 삭제한 직후에 발생한 에러인지는 정확히 파악을 못 하였으나 그 이후로 갑자기 제가 자체적으로 만든(newdok) 로드밸런서의 Listener, Security Group에 대해서 접근 에러가 발생하였습니다. 여기까지가 현재 발생한 문제점이고 해당 내용들에 대한 2가지 질문이 있습니다.질문 1위 사진들을 보시면 AuthFail 에러가 발생하는데 여러 해결법들을 검색해보고 액세스 키도 새로 발급해보고 IAM 권한도 admin으로 설정해보고 여러 시도를 하였으나 해결을 하지 못하였습니다. 문제는 아무 서버와도 연결되지 않은 깡통 로드밸런서(test-lb)을 생성하여 리스너와 보안그룹을 지정해주면 해당 로드밸런서에 대해서는 AuthFail에러가 발생하지 않습니다. 만약, AWS 인증 문제라면 제가 관리하고 있는 모든 자원에 대해서 Security Group 접근 에러가 발생해야 하는데 해당 로드밸런서(newdok-lb)에 대해서만 에러가 발생하는 이유를 잘 모르겠습니다. 질문 2두 번째 질문은 ECS Task Container의 Health Check에 대해서입니다. 첫 번째 질문에서 언급했던 에러가 발생함에도 로드 밸런서 접속(HTTP만), 연결한 도메인에 대한 접속(HTTP, HTTPS)은 정상적으로 되고 있는 상황입니다. 실제로도 ECS Cluster에 들어가보면 cluster, service, 심지어 task까지 정상적으로 작동 및 Health 상태를 반환합니다.하지만, 마지막 사진을 보시면 Task을 들어갔을때, Container에서 Healthy가 아니라 Unknown 상태를 반환합니다. Unhealthy가 아니라 Unknown 반환의 경우 어떤 문제일까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
비용 문제!
혹시 이 강의들을 실습하면 비용이 많이 청구될까요..!?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
node api 및 redis 서버
안녕하세요. 강의를 듣고 있는 초보 개발자입니다.test 코드 만드는 부분에서 오류가 나서 진도를 못나가고 있는 상태입니다. export createApp을 했음에도 불구하고 index.test.ts 파일에서 import createApp을 한 후 let app: Express.Application 선언 후 app을 request 인자로 넣을 때 오류가 납니다.또 한가지 질문은 os 환경이 windows인데 redis 설치를 했습니다만 이게 node api와 연동이 되고 있는건지 잘 모르겠습니다..ㅠㅠ redis cli에서 list에 push한 후 typescript로 만든 api를 구동해서 push를 했을 때 성공했다고 postman으로 확인을 했는데 get을 호출하면 [] 빈 리스트가 반환됩니다..ㅠㅠ 제가 node와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
build & production stage 구분해서 도커 이미지 크기 줄이기 실패
build & production stage 구분해서 도커 이미지 크기 줄이기 강의에서 다음과 에러가 납니다.(base) david@davidui-MacBookPro ~/workspace/express dev ± docker build -t my-express-app-light . -f ./DockerFile [+] Building 1.9s (13/13) FINISHED => [internal] load build definition from DockerFile 0.0s => => transferring dockerfile: 37B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 34B 0.0s => [internal] load metadata for docker.io/library/node:18 0.8s => [build 1/5] FROM docker.io/library/node:18@sha256:f152130c9bb77afd49873a26fcfb6da7971b451ae6db51901fb7e028ccc0ca75 0.0s => [internal] load build context 0.0s => => transferring context: 11.27kB 0.0s => CACHED [build 2/5] COPY package*.json . 0.0s => CACHED [build 3/5] RUN npm install 0.0s => CACHED [build 4/5] COPY . . 0.0s => CACHED [build 5/5] RUN npm run build 0.0s => CACHED [production 2/5] COPY --from=build ./build ./build 0.0s => CACHED [production 3/5] COPY --from=build ./package.json .package.json 0.0s => CACHED [production 4/5] COPY --from=build ./package-lock.json .package-lock.json 0.0s => ERROR [production 5/5] RUN npm install --only=production 0.9s ------ > [production 5/5] RUN npm install --only=production: #13 0.561 npm WARN config only Use `--omit=dev` to omit dev dependencies from the install. #13 0.885 npm ERR! Tracker "idealTree" already exists #13 0.890 #13 0.891 npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2023-12-30T05_16_10_548Z-debug-0.log ------ executor failed running [/bin/sh -c npm install --only=production]: exit code: 1 (base) ✘ david@davidui-MacBookPro ~/workspace/express dev ±
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
DockerFile 빌드 에러
DockerFile 빌드시에 에러가 나서 찾아보고 해결책 공유 드립니다. >> docker build . 에러메세지 : failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount029268071/Dockerfile: no such file or directory 해결책 : docker build . -f ./DockerFile
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ecs deploy 용량 공급자
용량 공급자와 같은 설정에 대해서 질문이 있습니다기존의 fargate로 배포해놓은 ecs 서비스에 용량 공급자 설정을 fargate_spot으로 변경하여 서비스 업데이트 한 후,강사님께서 짜주신 ecs git action을 통해 배포하면 fargate spot이 적용이 될까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
github action workflow test timeout
안녕하세요,CI - 배포 준비를 위한 Github Workflow 생성하기강의 내용 중 위와 같이 run test 에서 오류 발생합니다. test.yml은 name: teston: pull_requestjobs:test:runs-on: ubuntu-22.04steps:- name: Checkout repositoryuses: actions/checkout@v3- name: Node.js setupuses: actions/setup-node@v3with:node-version: "18"- name: Install npm packagesrun: npm ci- name: Install and run redis-serverrun: |sudo apt-get updatesudo apt-get install -y redis-serverredis-server --daemonize yes --requirepass test_env --port 6380- name: Run testrun: npm run test:ci- name: Test buildrun: npm run build package.json은"scripts": {"build": "npx tsc","start": "node build/index.js","dev": "concurrently \"npx tsc --watch\" \"nodemon build/index.js\" ","test": "jest --watchAll --detectOpenHandles","test:ci": "jest"}, index.test.ts는import request from "supertest";import { LIST_KEY, RedisClient, createApp } from "./app";import * as redis from "redis";let app: Express.Application;let client: RedisClient;const REDIS_URL = "redis://default:test_env@localhost:6380";beforeAll(async () => {client = redis.createClient({ url: REDIS_URL });await client.connect();app = createApp(client);});beforeEach(async () => {await client.flushDb();});afterAll(async () => {await client.flushDb();await client.quit();}); 23.12.11 추가redis 설치 시 Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Hit:2 http://azure.archive.ubuntu.com/ubuntu jammy InReleaseGet:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]Get:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease [3631 B]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1244 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [257 kB]Get:9 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1226 kB]Get:10 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [199 kB]Get:11 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1018 kB]Get:12 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [226 kB]Get:13 http://azure.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [27.8 kB]Hit:14 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InReleaseGet:15 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1016 kB]Get:16 http://azure.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [195 kB]Get:17 http://azure.archive.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1179 kB]Get:18 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [815 kB]Get:19 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [152 kB]Get:20 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main arm64 Packages [28.7 kB]Get:21 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 Packages [117 kB]Fetched 8042 kB in 2s (4798 kB/s)Reading package lists...Reading package lists...Building dependency tree...Reading state information...The following additional packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-toolsSuggested packages: ruby-redisThe following NEW packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-server redis-tools0 upgraded, 7 newly installed, 0 to remove and 37 not upgraded.Need to get 1273 kB of archives.After this operation, 5725 kB of additional disk space will be used.Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libjemalloc2 amd64 5.2.1-4ubuntu1 [240 kB]Get:3 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.1-0 amd64 5.1.5-8.1build4 [99.9 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblzf1 amd64 3.6-3 [7444 B]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-bitop amd64 1.0.2-5 [6680 B]Get:6 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-cjson amd64 2.1.0+dfsg-2.1 [17.4 kB]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-tools amd64 5:6.0.16-1ubuntu1 [856 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-server amd64 5:6.0.16-1ubuntu1 [45.9 kB]Fetched 1273 kB in 0s (2631 kB/s)Selecting previously unselected package libjemalloc2:amd64.(Reading database ...(Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 302654 files and directories currently installed.)Preparing to unpack .../0-libjemalloc2_5.2.1-4ubuntu1_amd64.deb ...Unpacking libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Selecting previously unselected package liblua5.1-0:amd64.Preparing to unpack .../1-liblua5.1-0_5.1.5-8.1build4_amd64.deb ...Unpacking liblua5.1-0:amd64 (5.1.5-8.1build4) ...Selecting previously unselected package liblzf1:amd64.Preparing to unpack .../2-liblzf1_3.6-3_amd64.deb ...Unpacking liblzf1:amd64 (3.6-3) ...Selecting previously unselected package lua-bitop:amd64.Preparing to unpack .../3-lua-bitop_1.0.2-5_amd64.deb ...Unpacking lua-bitop:amd64 (1.0.2-5) ...Selecting previously unselected package lua-cjson:amd64.Preparing to unpack .../4-lua-cjson_2.1.0+dfsg-2.1_amd64.deb ...Unpacking lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Selecting previously unselected package redis-tools.Preparing to unpack .../5-redis-tools_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-tools (5:6.0.16-1ubuntu1) ...Selecting previously unselected package redis-server.Preparing to unpack .../6-redis-server_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-server (5:6.0.16-1ubuntu1) ...Setting up libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Setting up lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Setting up liblzf1:amd64 (3.6-3) ...Setting up lua-bitop:amd64 (1.0.2-5) ...Setting up liblua5.1-0:amd64 (5.1.5-8.1build4) ...Setting up redis-tools (5:6.0.16-1ubuntu1) ...Setting up redis-server (5:6.0.16-1ubuntu1) ...Created symlink /etc/systemd/system/redis.service → /lib/systemd/system/redis-server.service.Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service → /lib/systemd/system/redis-server.service.Processing triggers for man-db (2.10.2-1) ...Processing triggers for libc-bin (2.35-0ubuntu3.4) ...NEEDRESTART-VER: 3.5NEEDRESTART-KCUR: 6.2.0-1018-azureNEEDRESTART-KEXP: 6.2.0-1018-azureNEEDRESTART-KSTA: 1Could not connect to Redis at 127.0.0.1:6380: Connection refusedError: Process completed with exit code 1.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
dockerfile 내부 폴더 copy
FROM node:20.10.0-alpine as build WORKDIR /home/app COPY package*.json . RUN npm install COPY . . RUN npm run build FROM node:20.10.0-alpine as production WORKDIR /home/app COPY --from=build ./home/app/package.json ./package.json COPY --from=build ./home/app/package-lock.json ./package-lock.json COPY --from=build ./home/app/tsconfig.json ./tsconfig.json COPY --from=build ./home/app/tsconfig.build.json ./tsconfig.build.json COPY --from=build ./home/app/nest-cli.json ./nest-cli.json COPY --from=build ./home/app/dist/ ./dist RUN npm install --only=production CMD ["npm", "run", "start:dev"]nestjs 애플리케이션을 docker를 사용하여 배포하기 위해서 Dockerfile을 작성했는데, dev stage에서 build한 build 산출물인 dist 폴더를 복사하려고 하는데, 복사가 되질 않네요,, 어떤 이유일까요? production stage를 주석처리하고, run build까지만 하고 exec 명령어로 해당 컨테이너에 들어가서 확인했을 때는 dist폴더가 존재하는 것을 확인했습니다..!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Workflow 작성시 npm install 문제
name : SSH and deployrun : | ssh ...run 스크립트 안의 npm install 실행시 command not found 라고 뜹니다. 근데 LightSail SSH 접속해서 다 확인해봤을 때, npm, npx 모두다 정상적으로 설치가 되어있는데 혹시 다른 문제가 있는걸까요?