묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
인바운드 규칙 설정 문제
강의내용 따라서 배포까지 진행하고있습니다. 이전강의 보안그룹 설정할때 인바운드규칙 설정에서 HHTP에 기본 80포트로 하고 규칙을 저장하려고 하니 "CIDR 블록, 보안 그룹 ID 또는 접두사 목록을 지정해야 합니다." 라는 문구와함께 값을 인바운드 ip주소? 나 접두사를 입력해야하더라구요. 0.0.0.0/0 은 허용이 되지 않아 접두사목록에 있는 것 하나 그냥 선택해서 넘어갔습니다.배포 후 서버 접속 하려고하니 HTTP 인바운드규칙에 걸려서 그런지 접속이 되지 않아 일단 내IP로 설정해서 접속은 했습니다.모든 IP 주소 접속허용은 안되는건지 잘 모르겠네요...
-
해결됨개발자를 위한 쉬운 도커
VScode 컨테이너 내부에서 개발환경 구성
안녕하세요! 데브위키님!우선 도커 강의를 잘 듣고 있고 너무 도움이 되는 강의라 강의를 만들어 주셔서 감사합니다!세션 8의 VScode 컨테이너 내부에서 개발환경 구성 강의를 듣다가 궁금한 점이 생겼는데dockerfile이.devcontainer의 dockerfile과 leafy-front 파일의 dockerfile이 두 개가 있는데강의에서처럼 VScode에 컨테이너 구성을 했을 때, leafy-front 파일의 dockerfile은 쓰이지 않는 것인지또 실제 배포를 했을 땐, leafy-front 파일의 dockerfile이 사용되고 .devcontainer의 dockerfile은 사용이 안 되는 것인지 궁금합니다.마지막으로 이 두 dockerfile은 서로에게 영향을 주진 않는지도 궁금합니다!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
배포 실패
에러 메시지The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.CodeDeploy 공식문서 참조less /var/log/aws/codedeploy-agent/codedeploy-agent.log / ERROR에러 메시지InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: Aws::S3::Errors::NoSuchKey - The specified key does not exist. - /opt/codedeploy-agent/vendor/gems/aws-sdk-core-3.121.1/lib/seahorse/client/plugins/raise_response_errors.rb:17:in call 혹시나 하고 CodeDeploy Agent restart 재시작EC2인스턴스 IAM 재설정yaml 마지막부분 \ 인식하게 수정다 안되네요...
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법의 스크립트 질문
- name: SSH(원격접속)로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 #env: #APPLICATION_PROPERTIES: ${{ secrets.APPLICATION_PROPERTIES }} with: #SSH로 접속할 때 필요한 값들이 있음. IP주소, ubuntu, 키페어 (EC2에 접속하기 위한 과정) host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} #envs: APPLICATION_PROPERTIES #문제가 있으면 스크립트 중단. script_stop: true script: | rm -rf /home/ubuntu/instargram-server/current mkdir /home/ubuntu/instargram-server/current mv /home/ubuntu/instargram-server/tobe/project.jar /home/ubuntu/instargram-server/current/project.jar cd /home/ubuntu/instargram-server/current sudo fuser -k -n tcp 8080 || true nohup java -jar project.jar > ./output.log 2>&1 & rm -rf /home/ubuntu/instargram-server/tobe스크립트에서 실행 순서에 대한 질문입니다.기존에 있던 서버는 current 파일의 project.jar 로 실행되고 있었을텐데 current 파일을 먼저 날리고 기존의 서버를 종료시켜 주는 부분이 이해가 되지 않습니다. 아마도 제 생각에는 current 폴더 안의 project.jar로 실행되고 있던 8080포트의 프로세스가 current 폴더를 삭제해주면 에러가 생길 것 같은데 에러가 생기지 않는 이유가 궁금합니다. 프로젝트 종료 -> 프로젝트가 담겨있던 폴더 삭제 -> 새 프로젝트 폴더 생성 순으로 가야 할 것 같은데 기존 프로젝트 폴더 삭제 -> 새 프로젝트 폴더 생성 -> 프로젝트 이동 -> 기존 프로젝트 종료 -> 새 프로젝트 실행 이런 순서로 해도 에러가 안나는 이유가 궁금합니다. 두서없이 써서 죄송합니다 ㅎㅎ;
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
git action run command timeout
인스턴스 생성시 전부 프리티어로 생성을 했었는데git action run command timeout 발생했습니다혹시나 다른분들도 이런상황이라면aws ec2 메모리 용량 증설에 대해서 검색해보세요15분이 기다려도 안되던데 바로 적용이 되네요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Ec2 인스턴스로 요청이 안됩니다.
안녕하세요.EC2 인스턴스 및 보안 그룹 설정 후 git clone, Jar 빌드 후 run까지 되는데외부에서 IP주소:port로 요청을해도 요청이 들어오지 않아 질문드립니다.curl 을 해봐도 커넥션 타임아웃이 발생하는데따로 확인해야하는 부분이 있을까요?강의랑 다르게 한것은 AWS 에서 우분투 에서 깃 클론 후 ./gradlew 명령어가 없다고 나와서 따로 wget으로 설치 후 환경변수 설정했습니다.감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
scp로 EC2에 jar 전송 중 scp timeout로 인한 실패 문제입니다
[실습] 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 - 에서 발생하는 오류입니다,, ```- name: SCP로 EC2에 빌드된 파일 전송하기 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: project.jar target: /home/ubuntu/instagram-server/tobe해당 yml로 설정 하고서도 반복해서 timeout으로 연결이 실패하네요,, 직접 script로 ec2 내부에서 동작하는 실습까지는 모두 작동했었습니다 따로 에러를 구글링해보았지만 유의미한 해결책이 보이지 않아 올려봅니다
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
수업자료 질문-Case 2 - 일반 웹 프로젝트 구조에 CI/CD 적용하기 (S3, Cloudfront)
전체적인 흐름 이미지를 보면 3번과 4번에서 캐시무효화 명령 및 캐시 무효화를 하는 설명이 작성되어 있습니다. 깃헙 액션에서 3번을 수행하는것 까진 이해가 되는데 4번은 누가 하는건지 모르겠습니다. 제가 찾아본바로는 3번만 수행하면 유저가 다음 요청시 cloudfront가 새로 s3에서 데이터를 받아오고 해당값을 캐싱하는것으로 이해했습니다.https://jscode.notion.site/Case-2-CI-CD-S3-Cloudfront-bbd22542211046feac5f04a3955ddf71
-
해결됨개발자를 위한 쉬운 도커
[컨테이너 내부에서 개발하기] - volume mount 질문 드려요.
안녕하세요. 틈틈히 강의를 듣고 있습니다. 질문 하나 있어서요. (Node.js, VSCode) 컨테이너 내부에서 개발환경 구성 강의 마지막 쯤에 볼륨은 마운트 된다고 하셨는데, 강의 상에서는 leafy/leafy-frontend 와 마운트 되더라구요. (컨테이너 안에서는 /workspace/leafy/leafy-frontend) 근데 혹시 이 마운트 되는 경로를 따로 설정으로 바꿀 수 있을거 같은데 .. 어떻게 하면 될까요? (예를 들면 leafy-frontend <-> /workspace/leafy-frontend 이렇게요.) 안녕하세요. 데브위키입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
S3 권한 문제 어떻게 해결해야 할까요 ㅠㅠ?
S3 에 프로젝트 파일 업로드하기부분 해결하려고 세시간 넘게 삽질했는데... 잘 되지 않아서 결국 질문 드립니다... ㅜㅜ 제공해주신 수업 자료 참고해서 여러 번 반복하고, 구글에 물어보고 했는데 정확히 어떻게 해결해야 맞는지 모르겠습니다ㅠㅠ 어떻게 해야 할까요..?Run aws s3 cp --region ap-northeast-2 ./`$GITHUB_SHA.tar.gz s3://cicd/$GITHUB_SHA.tar.gz upload failed: ./db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz to s3://cicd/db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied Error: Process completed with exit code 1.
-
미해결개발자를 위한 쉬운 도커
이미지 레지스트리 manifest 관련 질문입니다.
이미지 레지스트리 part.3 부분 진행하다가 아래와 같은 에러가 발생하는데 manifest관련 설정은 어떻게 해야할까요..?찾아보다가 도저히 모르겠어서 질문 올립니다..! ㅠ docker push mydocker123/my-simple-web:0.1 The push refers to repository [docker.io/mydocker123/my-simple-web] missing content: content digest sha256:d5a11541ef8ce442f8b03bdb816b0128e83650cdc30e65f78985912aa5da27a6: not found Note: You're trying to push a manifest list/index which references multiple platform specific manifests, but not all of them are available locally or available to the remote repository. Make sure you have all the referenced content and try again.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
ECR + CodeDeploy를 활용한 CI/CD에서 쉘 스크립트 질문
섹션4의 5번째 강의 5분 17초에 보면ECR에 저장된 이미지를 가져오기 위해ECR의 주소가 적혀있는데요. 이 코드들이 깃헙에 올라가게 되면저의 프라이빗 ECR 주소가 외부로 공개가 되는 것 같은데실제 현업에서도 이렇게 ECR 주소가 외부로 공개하는 방식으로 사용하나요?현재 여럿이서 진행하는 프로젝트의 CI/CD 구축을 해당 강의를 참고하여 진행하려고 하는데 스크립트 작성을 하면서 의문점이 생겨 글 남깁니다! 강의 항상 잘 듣고 있습니다 감사합니다~
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
java 환경변수 주입 질문
안녕하세요 실습하다보니 질문이 생겨서 질문드립니다. 저같은 경우에는 .yml 파일을 올리돼, 중요한 값은 ${변수명} 이런식으로 작성해서 올리는 편입니다. 따라서 이를 EC2 서버의 .bashrc 파일에 export로 설정한 뒤, source ~.bashrc로 값을 초기화해놓았습니다. echo로 확인해보니 문제없이 출력되구요... 그 후 CICD를 적용시켯더니 계속 해당 환경변수를 찾지 못한다는 에러가 발생합니다.. 어떤 부분이 잘못되었는지 모르겠어서 질문드립니다. name: deploy chatGPT server to AWS EC2 on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: ssh로 서버 접근 & git pull 후 재배포 진행 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script_stop: true script: | source ~/.bashrc cd /home/ubuntu/spring-chatgpt-communication git pull origin main ./gradlew clean build sudo fuser -k -n tcp 8081 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log 2>&1 & 아래는 저의 CICD yml 파일입니다!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
`err: Error response from daemon: Head "https://~~~/v2/issue-tracker/manifests/latest": no basic auth credentials` 에러 문제입니다.
안녕하세요, 재성님!다름이 아니라 강의를 보며 공부하고 있다가 에러를 마주했는데 해결이 잘 되지 않아 질문드립니다. SSH 로 EC2 에 접속하기란 스크립트 실행 중 다음과 같이 에러가 발생합니다.ec2의 ~ 폴더 .docker 에 `config.json` 도 추가했습니다. IAM 사용자에 AmazonEC2ContainerRegistryFullAccess 정책을 추가하고, 보안 자격 증명에서 액세스 키와 비밀 키를 발급 받아 github 의 Settings 탭에 Secret Key 에 환경변수로 추가해주었습니다. AmazonEC2ContainerRegistryFullAccess 정책을 추가한 역할을 만들어서이 역할을 EC2 의 IAM 역할 수정으로 등록해주었습니다. 다음은 제 CI/CD .yml 파일 입니다.https://sky-feast-c76.notion.site/yml-5d542fb264d24e58a3f1342fc076343c?pvs=4 좋은 강의 만들어 주셔서 감사합니다!!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2에 배포하기 전에 기존 이미지를 삭제하고 배포해도 되나요?
안녕하세요! 알려주신 방법으로 도커와 EC2를 이용해서 CI/CD를 잘 하고 있습니다. ㅎㅎ 그런데 방금 전에 Actions 가 실패해서 봤더니 용량이 부족해서 그런거더라구요. 그래서 좀 찾아봤더니 도커 이미지들을 삭제를 해줘야 하는 것 같네요! 혹시 EC2에 배포하기 전에 도커 이미지를 삭제해주려면 이렇게 하면 될까요?docker stop {컨테이너 이름} || truedocker rm {컨테이너 이름} || truedocker rmi $(docker images -q) || truedocker pull ${{ steps.login-ecr.outputs.registry }}/{이미지 이름}:latestdocker run -d --name {컨테이너이름} -p 8080:8080 ${{ steps.login-ecr.outputs.registry }}/{이미지 이름}:latest
-
해결됨개발자를 위한 쉬운 도커
파워쉘 사용하시는 분들은 commit 메세지를 다음과 같이 입력하시면 됩니다
docker commit -m "edited index.html by devwiki" -c "CMD [\""nginx\"", \""-g\"", \""daemon off;\""]" officialNginx <레지스트리계정명>/commitnginx 이렇게 작성해서 해결했습니다.. 혹시 인텔리제이로 파워셀에서 실습하시는 분들은 이렇게 사용해보세요!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2 스프링부트 배포하기에서 빌드가 안됩니다.
ec2-spring-boot-sample를 clone 받아 빌드를 실행했는데 78%에서 진행이 안되네요. 말씀주신 다른 명령어로 실행해보니 디펜던시에 문제가 있는 것 같기도 합니다 ㅜㅜ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2에 nodejs 설치하기
[실습] 7. Express 서버를 EC2에 배포하기강의에서 nodejs 설치할 때 복사해서 가져와 주셨는데 코드가 길어서 어디서 긁어올 수 있는지 알 수 있으면 좋을 것 같아요. 늘 좋은 강의 감사합니다.
-
해결됨개발자를 위한 쉬운 도커
섹션8-캐싱을 활용한 빌드
안녕하세요 수강 중 궁금한 점이 생겨 질문 드립니다.App.vue파일에서 내용을 바꾼 후 빌드 했을 때 copy 지시어부터 캐싱이 사용되지 않는다고 하셨는데 왜 오른쪽의 나온 시간이 0.0초인지 궁금합니다!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
aws ecr이 아닌 docker hub를 이용한 CI/CD
aws ecr이 아닌 docker hub를 이용한 CI/CD 이용한 방법하고 ECR하고 차이가 많나요.있다면 어떤 부분 따로 학습이 필요할 까요?