묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ssh 사용 이유
안녕하세요 ssh 사용 이유에 대해 궁금해서 질문 드립니다!1. 호스트에서 특정 docker에 접속할 때 ssh를 쓰는 이유가 무엇인가요? 그냥 exec로 접속하면 안될까요? 젠킨스에서 docker 접속할 때만 ssh 쓰면 되지 않나요? 이유가 궁금합니다!
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스의 Build - Test - Package 단계에서 Test 코드를 작성하지 않은 경우
안녕하세요. 저는 취준생으로서 자동화를 경험하고자 강의를 듣기 시작했습니다.지금 저는 6명 인원으로 웹사이트 개발 프로젝트를 진행하며 Java/SpringBoot 로 백엔드 개발과 배포 포지션을 맡았습니다. 스프링 프로젝트를 만들면, test 폴더에 test코드를 작성하여 단위테스트와 통합테스트를 진행할 수 있는 것으로 알고있습니다.만약, 프로젝트에서 단위테스트 코드를 작성하지 않았다고 가정한다면 젠킨스의 Build - Test - Package 단계에서 Test 부분은 생략되어 Package가 진행되나요?
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
VM환경의 Docker에 배포하려고 합니다.
Windows, MacOS(Intel chip)를 사용하는 사용자를 대상으로 실습하실 수 있으며, VM 설치에 대한 부분은 별도의 강의에서 진행되고 있습니다. (2023-07-17 공개강의 오픈 예정)라고 하셨는데, 별도의 강의가 어디에 있는지 알고싶습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
도커로 톰캣을 올려서 배포하려고하는데.
org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/My Third Project/target/user-service-1.0.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136) at hudson.FilePath.act(FilePath.java:1198) at hudson.FilePath.act(FilePath.java:1181) at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711) at hudson.model.Run.execute(Run.java:1925) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Caused by: java.io.FileNotFoundException: http://172.20.10.2:8088/manager/text/list at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1920) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:577) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161) ... 19 more 꼭 톰캣매니저가 있어야 배포가 될까요?도커이미지로 설치하면, 톰캣매니저는 없네요,,
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
MultiNode 구현시 Slave노드를 위해 추가하는 Docker서버
해당 도커서버도 아래 명령어처럼 privileged를 사용하지 않고 2번째 방식으로 작성하면 될까요?? docker run -itd --name docker-server -p 10022:22 -p 8081:8080 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:latest /usr/sbin/init
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
DOOD방식 -p 8081:8080 마운팅으로 접속 안됨.
처음 SSH를 기동할 때 2번째 방법인 DOOD 방법으로 기동하였습니다.docker run -itd --name docker-server -p 10022:22 -p 8081:8080 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:latest /usr/sbin/init코드를 보시면 아시다싶히 -p 10022:22 마운팅과추가로 -p 8081:8080 마운팅을 추가하였습니다. 이후 Jenkins로 빌드를 진행하였고 아래와 같이 빌드가 정상적으로 처리가 되는것이 확인이 됩니다.하지만 localhost:8081/hello-world로 접속하면 접속이 안되고 localhost:8080/hello-world로 접속해야만 접속이 가능해집니다. 당연히 제대로 된다면 둘 다 접근이 가능해지겠죠?근데 톰캣 포트로만 접근이되버려서...제가 처음 ssh를 기동할때 분명 8080포트를 8081로 마운팅을 했는데 왜 8081포트로 접속이 안되는건지 원인과 해결 부탁드립니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
dood방식 yum sed 작업
DOOD방식에서는 그럼 yum install -y iptables net-tools sed -i -e 's/overlay2/vfs/g' /etc/sysconfig/docker-storage위 두 명령어를 실행하지 않아도 되는건가요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
docker-server eth0 inet주소로 ssh접근이 되지 않습니다
맥 OS는 Ventura 13.2.1입니다.도커 이미지를 docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns=host edowon0623/docker-server:m1 /usr/sbin/init 로 실행하였습니다.net-tools하고 ssh서버를 깔았구요, docker-desktop으로 컨테이너에 terminal에서 확인을 했을 때 [root@147277fe7c68 etc]# service sshd statusRedirecting to /bin/systemctl status sshd.service● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-07-09 04:34:51 UTC; 2h 40min ago라는 결과가 출력되어 ssh도 잘 깔려있고 22번 포트가 정상적으로 실행되는지 확인했을 때 LISTEN으로 잘 동작했습니다[root@147277fe7c68 etc]# netstat -an | grep LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp6 0 0 :::22 :::* LISTEN 도커 이미지를 실행하고 centOS8임을 확인하고 ssh서버까지 실행된다고 이해했습니다 ssh root@localhost -p 10022를 사용해서 로컬호스트에서 접속할때는 정상적으로 잘 접근됩니다. 그런데 ifconfig를 사용해서 eth0의 주소를 확인 해 보면 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 65535 inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255라고 떠서 172.17.0.3으로 접속하면 되겠다고 이해 했는데 로컬 iterm2를 사용해서 접속해보면 접속이 거부됩니다. iterm2과 terminus에서는 시간초과가 나고 👤 Starting a new connection to: "172.17.0.3" port "10022"⚙️ Starting address resolution of "172.17.0.3"⚙️ Address resolution finished⚙️ Connecting to "172.17.0.3" port "10022"😨 Connection failed: connection timed out. No more addresses to try. jenkins에서는 jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [docker-server]. Message [java.net.ConnectException: Connection refused (Connection refused)]]라는 에러가 뜹니다.어느부분이 문제인지 모르겠습니다 흑흑
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Docker 내부의 ansible컨테이너에서 ssh root@ip로 접근할 수 있는이유가 궁금합니다.
ssh가 22번포트를 사용함으로 별도로 포트번호를 지정하지않아도 ssh root@ip로 접근이 가능한건가요? 만약 그렇다면 컨테이너 내부포트가 22번이 아닌 다른 컨테이너에게도 똑같이 접근할 수 있나요?원래 컨테이너 내부는 userid@내부ip로 접근할 수 있는건가요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
docker 로 ssh 서버 연결 시 사용되는 docker images 만들기
docker 로 ssh 서버 연결 시 사용되는 docker images를 만드는 방법도 설명 되어 있나요 ?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
강사님께 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.제가 지금 프로젝트를 하고 있고 CI/CD 및 Docker까지 적용하고자 이 강의를 구매하게 되었습니다! 일단 프로젝트가 급해서 쿠버네티스까지는 프로젝트가 끝나고 난뒤 이후에 개념을 다시 잡는 용도로 듣고자 하는데, 섹션2를 수강하고 난뒤 바로 섹션 5로 넘어가도 섹션5를 듣는데 무리가 없는지 여쭤봅니다!
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
MAC 에서 설치할때 JDK 환경변수 설정에서 막힙니다.
MAC용 JDK를 다운받고, .bash_profile 에서 JAVA_HOME 환경변수를 설정하였는데요. 어떤 부분을 놓쳤는지, echo $JAVA_HOME 을 해보면 The operation couldn’t be completed. Unable to locate a Java Runtime. 에러가 나오네요. 백엔드 개발자가 아니다보니, JDK설치 부분에서부터 막히네요 ㅜㅜ
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
부록
부록이 뭔가요 ?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
수강생 대다수가 동일 이슈(SSH 접속 불가)로 고통 받는 것 같은데요 강사님 답변을 원합니다.
ssh 접속 시도시 아래와 같은 에러가 출력 됩니다.- 방화벽 내리고 /etc/hosts.allow 127.0.0.1 추가하고 sshd 서비스 재시작해도 안됩니다.kex_exchange_identification: read: Connection reset by peerConnection reset by 127.0.0.1 port 10022 다운 받은 SSH 이미지 정상 동작 상태임을 확인Up 44 minutes 0.0.0.0:10022->22/tcp, :::10022->22/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp docker-server열린 포트 확인하여 포트포워딩 설정 확인Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:10022 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN도커 컨테이너, 소캣 상태 정보 확인CGroup: /system.slice/docker.service ├─ 9218 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ├─25925 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8081 -container-ip 172.17.0.2 -container-port 8080 ├─25933 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8081 -container-ip 172.17.0.2 -container-port 8080 ├─25946 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10022 -container-ip 172.17.0.2 -container-port 22 └─25953 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 10022 -container-ip 172.17.0.2 -container-port 22
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
vi /etc/sysconfig/docker 가 없어요
윈도우 10 환경에서 SSH Server 설치를 하고있습니다..이미지 실행 : docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:latest /usr/sbin/init이미지 실행후 ssh 접속해서 vi /etc/sysconfig/docker 다음 디렉토리로 가면 docker 파일이 존재하지 않아요 왜그런건가요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
docker ssh 서버 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Windows + docker window desktop v20.10.12입니다.1번,2번,3번 다 해도 아래와 같이 에러가 나옵니다.Failed to insert module 'autofs4': No such file or directory systemd 239 (239-51.el8_5.2) running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=legacy) Detected virtualization docker. Detected architecture x86-64. Welcome to CentOS Linux 8! Set hostname to <c555b9996bb9>. Couldn't move remaining userspace processes, ignoring: Input/output error Failed to determine supported controllers: No such file or directory Failed to allocate manager object: No such file or directory [!!!!!!] Failed to allocate manager object, freezing. Freezing execution.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
화면에 변경사항이 적용되지 않음
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.실습 8까지 진행하였습니다. index.jsp의 코드를 바꾸고 커밋 푸시하면 정상적으로 CI/CD 작업이 진행되나 화면에 적용되지 않습니다. 화면이 계속 그대로입니다. 깃허브에도 코드가 바뀌었고 도커 허브에도 이미지가 올라가 있고 pods, services, deployments 모두 정상 업데이트 됩니다. 뭐가 문제일까요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
초기 password 문의
도커를 실행시키고 docker run -d -p 8080:8080 -p 50000:50000 --name jenkins-server --restart=on-failure jenkins/jenkins:lts-jdk11 을 통해 젠킨스 이미지를 다운 받고 실행을 시켰습니다.docker ps 를 통해 jenkins 도커가 실행중임을 확인 하였고, http://127.0.0.1:8080/ 접속을 통해 젠킨스 로그인 창이 뜨는것 까지 확인 했습니다.그런데, 초기 비밀번호는 어디에서 확인할수 있는걸까요? 제가 진행한 Flow에서는 강의영상 9분 46초에 나와있는 화면을 접하지 못했습니다.제가 어떤 부분을 놓친걸까요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Ansible dood
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.Ansible도 이전에 section 2처럼 DooD방식으로 하면 되나요? 저는 자연스럽게 DooD를 사용하고 있었는데 section 3 들어와서는 별다른 언급이 없으셔서 질문드려봅니다. windows에서 DinD 방식은 안된다고 알고 있으면 될까요?
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
cron 주기 관련 질문
github에 ***** 이런식으로 즉각 반영하는 건 안 좋다고 하셨는데보통 실무에서는 cron 시간을 몇 분으로 설정하나요?시간과 그 이유에 대해 알고 싶습니다.