묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
time out 질문
현재 github actions 실행할때마다 계속 Run Command timeout 뜨는 상태입니다. swap 생성을 해주었는데도 계속 실패하네요..아래는 yml 코드입니다.# Workflow의 이름 # Workflow : 하나의 yml 파일을 하나의 Workflow라고 부른다. name: Deploy To EC2 # Event : 실행되는 시점을 설정 # main이라는 브랜치에 push 될 때 아래 Workflow를 실행 on: push: branches: - step3 # 하나의 Workflow는 1개 이상의 Job으로 구성된다. # 여러 Job은 기본적으로 병렬적으로 수행된다. jobs: # Job을 식별하기 위한 id deploy: # Github Actions를 실행시킬 서버 종류 선택 runs-on: ubuntu-latest # Step : 특정 작업을 수행하는 가장 작은 단위 # Job은 여러 Step들로 구성되어 있다. steps: - name: SSH(원격 접속)로 EC2에 접속하기 # Step에 이름 붙이는 기능 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # IP 주소 username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} # 키페어 값 script_stop: script: | cd /home/ubuntu/spring-gift-point git pull origin step3 ./gradlew bootJar -x test sudo fuser -k -n tcp 8080 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log >&1 &
-
해결됨개발자를 위한 쉬운 도커
쿠버네티스 강의 오픈 언제 예정이신가요?
도커 강의 너무 잘 듣고있어서 쿠버네티스까지 같이 수강하고자 합니다.
-
해결됨실전! GitHub Actions으로 CI/CD 시작하기
시나리오2에서 여러 릴리즈 브랜치를 한 번에 운영환경에 배포
안녕하세요.이 그림에서 추가되는 기능의 횟수만큼 운영환경에 배포를 해야하는데 혹시 여러개의 기능을 모아 한 번에 배포하려면 어떤 방식을 사용하면 좋을까요?브랜치를 하나 더 만들어 릴리즈 브랜치들을 전부 머지한 후 직접 운영환경에 배포하는 방법 이외에 다른 좋은 방법이 있을까요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
처음 push.yaml 에서 actions로 넘어갈때
이화면이떠요 선생님과 다른화면이뜨는데 어떡하면되나요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
현재 강의 진행 하기전에 하나씩 훑어 보고있는중에 질문이...
안녕하세요. 현재 강의 진행 하기전에 하나씩 훑어 보고있는중에 질문이 생겨서 질문을 드립니다.아무래도 인프라, 백엔드 쪽 코드에 중점으로 맞춰서 강의를 해주신 거 같습니다. 프론트 프레임워크도 강의 섹션이 있지만, vercel 혹은 s3, cloudfront로 진행을 해주셨는데, 이렇게 간단하게 아닌, next.js도 ec2, ecr, codebuild로 진행하고 싶습니다. js코드를 보면서 익히고 싶은데, 그나마 제가 보면서 대입하기 편한 강의는 nest.js로 보이는데, 이걸로 봐도 이해하는데 지장이 없을까요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
DB 마이그레이션 방법 및 풀리퀘스트 거부 시 처리
안녕하세요 강의 잘 보고 있습니다~~강의를 듣다 의문점이 생겨 질문을 드립니다.전체적인 과정에 대해 생각해보다 나온 생각으로 하나의 강의에 직접적인 연관이 있지는 않습니다.개발 서버, QA, 스테이징 서버, 운영서버의 DB CI/CD는 현업에서 어떤 식으로 하나요?찾아본 결과 두 가지 방식이 있었습니다.Docker volumeFlyway 등 마이그레이션 라이브러리 사용만약 EC2 RDS를 사용하면 다른 서버에서도 그냥 DB를 사용해야 하는 게 아닌가 하는 생각이 듭니다. 개발서버는 Docker를 사용하고 운영서버에서는 RDS를 사용하는 식으로 하지는 않을 것 같은데 관련 내용이 궁금합니다.Docker volume을 사용하여 대량의 데이터를 관리하는 경우가 현업에서 있는지 궁금합니다.QA브랜치에서 테스트를 통과하지 못하면 수정 브랜치를 만들어 개발서버에 다시 머지하고 테스트하나요? QA브랜치 뿐만 아니라 다른 브랜치에 오류가 생기면 바로 머지 할 지(hotfix처럼), 개발 브랜치에 머지 해 테스트를 다시 할 지 선택하는 건지 궁금합니다.풀 리퀘스트가 거절되면 통합된 코드들은 어떻게 되는 지 궁금합니다. 항상 롤백이 되는 거라고 이해하면 될까요?쉽고 확실하게 설명해주셔서 많이 배웠습니다. 조금 더 확실히 하기 위해서 질문을 드립니다. 항상 감사합니다!!
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
도커 볼륨 vs RDS, 롤백
안녕하세요 강의 잘 봤습니다.몇 가지 의문점이 생겨 질문을 드립니다.개발 서버, QA, 스테이징 서버, 운영서버의 DB CI/CD는 현업에서 어떤 식으로 하나요?찾아본 결과 두 가지 방식이 있었습니다.Docker volumeFlyway 등 마이그레이션 라이브러리 사용만약 EC2 RDS를 사용하면 다른 서버에서도 그냥 DB를 사용해야 하는 게 아닌가 하는 생각이 듭니다. 개발서버는 Docker를 사용하고 운영서버에서는 RDS를 사용하는 식으로 하지는 않을 것 같은데 관련 내용이 궁금합니다.Docker volume을 사용하여 대량의 데이터를 관리하는 경우가 현업에서 있는지 궁금합니다.QA브랜치에서 테스트를 통과하지 못하면 수정 브랜치를 만들어 개발서버에 다시 머지하고 테스트하나요? QA브랜치 뿐만 아니라 다른 브랜치에 오류가 생기면 바로 머지 할 지(hotfix처럼), 개발 브랜치에 머지 해 테스트를 다시 할 지 선택하는 건지 궁금합니다.풀 리퀘스트가 거절되면 통합된 코드들은 어떻게 되는 지 궁금합니다. 항상 롤백이 되는 거라고 이해하면 될까요?. 제가 잘 이해를 못한 부분이 있는 것 같아 확실히 하기 위해 질문을 남깁니다. 감사합니다~
-
해결됨개발자를 위한 쉬운 도커
docker os 에 관한 질문드립니다.
안녕하세요 수업 정말 잘 듣고 있습니다. 현재 맥북에서 도커 데스크탑을 설치하여 실습을 하고 있는데요. 문득 궁금한 점이 생겼습니다.맥북에서 도커를 실행하는 것이므로 host os 는 MacOS 라 생각됩니다.그런데 MacOS 의 커널과 리눅스 커널은 다를텐데 리눅스 커널 기술을 사용한다는 것이 이해가 잘 되지 않았습니다.그래서 구글링을 해보니 도커를 설치할 때 도커 엔진에는 경량화된 리눅스 OS 가 설치된다고 하더군요. 좀 더 조사해보니 리눅스 가상환경이 설치된다고 합니다. 이 안에 리눅스 커널이 있구요. 질문은 2가지가 있습니다. 그렇다면 컨테이너가 생성될 때 도커 엔진의 리눅스 커널에서 격리되는 것인가요? 호스트 OS 인 MacOS 커널에서 격리가 되는 것인가요? 만약 도커 엔진의 리눅스 커널에서 격리가 되는 것이라면 호스트 OS 의 커널과는 어떠한 관련성이 있는지 궁금합니다. 제 생각으로는 애초에 리눅스 가상환경이 만들어질 때 host os 의 자원 중 일부(예를 들어 10%)를 가져왔고 컨테이너 생성시에는 그 10% 자원의 리눅스 커널에서 격리시키는 것이 아닌가 의문이 들어서 질문드립니다.
-
해결됨개발자를 위한 쉬운 도커
nginx 실행시
안녕하세요. docker run docker run -p 80:80 --name hellonginx nginx 해당 명령어 수행시docker: error during connect: Head "http://docker:2375/_ping": dial tcp: lookup docker on 192.168.65.7:53: no such host.아래와 같은 에러가 뜨며 수행이안됩니다.
-
해결됨개발자를 위한 쉬운 도커
저는 IntelliJ IDEA 무료 버전인데 잘 되네요
저는 IntelliJ IDEA 2024.1.4 (Community Edition) 버전을 사용하고 있는데 이번 강의 내용((JAVA, IntelliJ) 컨테이너 활용 및 원격 디버깅)에 있는 모든 부분을 실습할 수 있었습니다.꼭 유료 버전 아니여도 괜찮은 것 같네요 개꿀
-
해결됨개발자를 위한 쉬운 도커
이미지는 어떻게 생성되는 건가요?
nginx 이미지를 실행시키는 데 nginx 이미지를 전 만든 적이 없는 것 같거든요 근데 어떻게 실행이 되는 건가요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
CI/CD는 무중단 배포와 다른 느낌인 것이죠?
저는 현재 Github Actions만 사용하여 하는 CI/CD 강의까지 들었는데 이 방식은 결국 sudo fuser -k -n tcp 블라블라를 하고 다시 nohup java -jar 블라블라 명령어로 서버를 띄우는 데까지는 서버가 꺼져있는 것 같습니다.결국 이는 CI/CD는 무중단 배포와 관련은 있지만 CI/CD + {어떤 기술} = 무중단 배포가 되는 것인 거죠?
-
해결됨개발자를 위한 쉬운 도커
cmd 질문
5분 42초에 말씀하신 Cmd는 띄어쓰기를 인식이 안되어 띄어쓰기 기준으로 배열로 저장된다고 해주셨는데요, daemon off도 띄어쓰기가 되어있는데,띄어쓰기의 기준이 명령어 한개로 보는건가요?daemon off => 명령어 한개 라서 배열 하나에 들어간건지 궁금합니다
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
yml 파일 관리
안녕하세요 강의 들으면서 진행중인 토이 프로젝트에 적용시켜 보고 있습니다. gitignore 처리 된 yml 파일을 관리하는 부분에서 궁금증이 생겨 질문 드립니다. 현재 프로젝트엔 yml파일이 3종류 있는데(jwt, oauth 관련) 이렇게 yml 파일이 여러개인 경우 APPLICATION_PROPERTIES1,2,3 이렇게 여러개 만들어서 각각 적용해 주려고 합니다. 이게 좋은 방법일까요? 다른 방법이 있는지도 궁금합니다!그리고 cat 명령어로 yml 파일의 내용을 읽어 봤는데 강의에서처럼 파일 자체의 내용이 나오지 않고 APPLICATION_PROPERTIES 이라고 나오는데 정상적인건가요?
-
해결됨개발자를 위한 쉬운 도커
섹션 3 실습도중에
실습강의처럼 똑같이 docker run -d -p 80:80 --name my-simple-web zxcxz01/my-simple-web:0.1해서도 안되고 포트번호가 안되는건가 싶어서 포트번호를 바꿔서docker run -d -p 8080:3000 --name my-simple-web zxcxz01/my-simple-web:0.1를 해도 안돼서 무슨 문제인지 모르겠습니다.. 강의랑 똑같이 했는데 이 전 섹션에서 이미지받아온걸론 8080:3000을 했을땐 잘됐어서 포트번호를 바꿔서 해봤는데 요번섹션은 저렇게 나와서 해결도 못하고 있습니다.. 계속 지웠다가 다시해도 안되고
-
해결됨개발자를 위한 쉬운 도커
docker cp 또는 docker run cmd 에서 root 경로(/) 작성은 꼭 해야될 필요가 없는 건가요??
안녕하세요 선생님, 영상을 계속 보다보니 궁금한 게 생겨서 질문드립니다.docker run ~~~~ 하고 맨 끝에 CMD 를 덮어쓸 명령어를 작성하실 때 저는 당연히 "/bin/bash" 처럼 작성할 줄 알았는데, "bin/bash" 로 입력하시더라구요. 그런데 이게 또 되니까 더 신가하더군요.이뿐만 아니라 docker cp 할 때도 docker cp . gradle:app 을 할 때도 gradle:/app 이 아니라 gradle:app 처럼 작성해도 정상 동작이 됩니다.이렇게 "/" 경로를 앞에 붙이지 않아도 동작이 되는 이유가 뭔지 알 수 있을까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
IAM에서 역할의 권한 추가 질문있습니다.
강의 잘 듣고 있습니다! 제가 AWS는 잘 몰라서 질문이 있습니다.IAM >역할에서 EC2의 권한을 추가할때 예전에 S3 접근 권한은 수업 내용 중 'code-deploy-ec2-policy'라는 정책을 만들고 IAM > 역할에서 EC2의 권한을 부여했는데요,ECR의 접근 권한을 부여할때는 정책을 따로 만들어서 권한을 부여하지 않고, 'AmazonEC2ContainerRegistryFullAccess' 권한을 직접 추가한 이유가 따로 있으신가요?결과적으로 둘다 같지만 정책을 별도로 추가해서 작업하는 것은 JSON에서 커스텀할 수 있기 때문인가요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
docker compose 를 사용할 때 CICD 방법 질문입니다
compose.yml과 프로젝트 소스를 Git PushGithub Actions 에서 도커 이미지 생성생성한 이미지 도커 허브에 전달Github Actions 에서 EC2로 compose.yml 전송Github Actions 에서 SSH로 EC2에 접속해서docker compose downdocker compose pulldocker compose up제가 생각하기에는 이 순서로 진행해야 할 것 같은데 혹시 잘못된게 있을까요?
-
해결됨개발자를 위한 쉬운 도커
설명 질문입니다..!
강사님 안녕하세요~!강사님 강의 덕분에 도커에 대해 많이 알아가고 있어서 좋습니다!!혹시 강의 내용 중02:00: IP주소는 8바이트04:22: IP주소는 8바이트라고 설명해 주시는 부분을 8비트로 이해하면 되는 게 맞나 싶어서 문의드려요!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
JDK 17 업데이트
안녕하세요! 좋은 강의 감사합니다.우선 저는 현재 JDK 11 버전을 사용하고 있습니다(openjdk version "11.0.21")강의에선 JDK 17 버전을 사용하던데, 11버전을 17로 업데이트해도 기존 프로젝트를 실행 시키는 데 문제가 없을까요?? 스프링부트 2점대와 3점대를 번갈아가며 사용중인데 혹시 버전을 올렸을 때 돌아가지 않는 프로젝트가 생길까 염려되어 질문 남깁니다.그리고 혹시 문제가 있을 수 있다면 JDK 11버전을 사용해도 강의를 끝까지 따라가는 데 문제가 없을까요?