묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 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
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2 스프링부트 배포하기에서 빌드가 안됩니다.
ec2-spring-boot-sample를 clone 받아 빌드를 실행했는데 78%에서 진행이 안되네요. 말씀주신 다른 명령어로 실행해보니 디펜던시에 문제가 있는 것 같기도 합니다 ㅜㅜ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2에 nodejs 설치하기
[실습] 7. Express 서버를 EC2에 배포하기강의에서 nodejs 설치할 때 복사해서 가져와 주셨는데 코드가 길어서 어디서 긁어올 수 있는지 알 수 있으면 좋을 것 같아요. 늘 좋은 강의 감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
aws ecr이 아닌 docker hub를 이용한 CI/CD
aws ecr이 아닌 docker hub를 이용한 CI/CD 이용한 방법하고 ECR하고 차이가 많나요.있다면 어떤 부분 따로 학습이 필요할 까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
vagrant 설치중 404 오류
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)vagrant upBringing machine 'master-node' up with 'virtualbox' provider...==> master-node: Box 'rockylinux/8' could not be found. Attempting to find and install... master-node: Box Provider: virtualbox master-node: Box Version: >= 0==> master-node: Loading metadata for box 'rockylinux/8' master-node: URL: https://vagrantcloud.com/api/v2/vagrant/rockylinux/8==> master-node: Adding box 'rockylinux/8' (v9.0.0) for provider: virtualbox master-node: Downloading: https://vagrantcloud.com/rockylinux/boxes/8/versions/9.0.0/providers/virtualbox/unknown/vagrant.boxDownload redirected to host: dl.rockylinux.org master-node:An error occurred while downloading the remote file. The errormessage, if any, is reproduced below. Please fix this error and tryagain.The requested URL returned error: 404 설치중 위와 같은 에러가 발생했는데, 이유를 모르겠습니다... ㅠㅠㅠ카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
다음 강의 질문입니다.
안녕하세요 강사님,강의 너무 잘 수강했습니다. 다음 강의가 궁굼한데언제쯤 나오나요?!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
echo로 깃허브 액션내 서버에서 yml 파일 생성시 질문
spring: jpa: open-in-view: false hibernate: ddl-auto: none properties: hibernate.default_batch_fetch_size: 100 --- spring.config.activate.on-profile: local spring: jpa: hibernate: ddl-auto: create properties: hibernate: format_sql: true show_sql: true h2: console: enabled: true storage: datasource: core: driver-class-name: org.h2.Driver jdbc-url: jdbc:h2:mem:core;MODE=MySQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE username: sa pool-name: core-db-pool data-source-properties: rewriteBatchedStatements: true --- spring.config.activate.on-profile: local-dev spring: jpa: properties: hibernate: show_log: true format_sql: true show-sql: true storage: datasource: core: driver-class-name: com.mysql.cj.jdbc.Driver jdbc-url: jdbc:mysql://${storage.database.core-db.url} username: ${storage.database.core-db.username} password: ${storage.database.core-db.password} maximum-pool-size: 5 connection-timeout: 1100 keepalive-time: 30000 validation-timeout: 1000 max-lifetime: 600000 pool-name: core-db-pool data-source-properties: socketTimeout: 3000 cachePrepStmts: true prepStmtCacheSize: 250 prepStmtCacheSqlLimit: 2048 useServerPrepStmts: true useLocalSessionState: true rewriteBatchedStatements: true cacheResultSetMetadata: true cacheServerConfiguration: true elideSetAutoCommits: true maintainTimeStats: false위의 yml 파일을 깃허브 액션내 서버에서 생성하려구 합니다. - name: db-core.yml 파일 만들기 run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./storage/db-core/src/main/resources/db-core.yml액션 스크립트에서 강의와 같이 설정하면 아래와 같은 에러가 뜹니다 ㅠㅠecho 명령어가 특수문자(---)에 대해서 처리를 못하는 걸까요?Run echo "*** /home/runner/work/_temp/63b7a555-4d5d-42d4-971d-fe62ef3e0580.sh: line 70: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** : bad substitution Error: Process completed with exit code 1.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
8080 포트에서 실행 중인 프로그램이 없습니다.
ubuntu@ip-172-31-86-200:~$ cd memberCertification ubuntu@ip-172-31-86-200:~/memberCertification$ ./gradlew clean build BUILD SUCCESSFUL in 7s 6 actionable tasks: 6 executed ubuntu@ip-172-31-86-200:~/memberCertification$ ls build build.gradle gradle gradlew gradlew.bat settings.gradle src ubuntu@ip-172-31-86-200:~/memberCertification$ cd build ubuntu@ip-172-31-86-200:~/memberCertification/build$ ls classes generated libs resolvedMainClassName resources tmp ubuntu@ip-172-31-86-200:~/memberCertification/build$ cd libs ubuntu@ip-172-31-86-200:~/memberCertification/build/libs$ ls memberCertification-0.0.1-SNAPSHOT-plain.jar memberCertification-0.0.1-SNAPSHOT.jar ubuntu@ip-172-31-86-200:~/memberCertification/build/libs$ nohup java -jar memberCertification-0.0.1-SNAPSHOT.jar & [1] 1678 ubuntu@ip-172-31-86-200:~/memberCertification/build/libs$ nohup: ignoring input and appending output to 'nohup.out' ubuntu@ip-172-31-86-200:~/memberCertification/build/libs$ sudo lsof -i:8080 ubuntu@ip-172-31-86-200:~/memberCertification/build/libs$ build를 했는데 publicIPs에 8080 포트를 주소에 입력하면 "연결을 거부했습니다." 라는 문구가 뜹니다.8080 포트가 쓰이지 않는 거 같아 cat nohup.out을 입력해보면 org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jjeong" at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:693) ~[postgresql-42.6.0.jar!/:42.6.0] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.GenericJDBCException: Unable to open JDBC Connection for DDL execution [FATAL: password authentication failed for user "jjeong"] [n/a] application.properties#datasource spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:5432/membercertification spring.datasource.username=jjeong spring.datasource.password=0525url, username, password가 다 들어맞는 것도 확인했습니다. build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.modelmapper:modelmapper:3.1.0' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.2.RELEASE' // implementation 'org.hibernate.orm:hibernate-core:6.2.6.Final' compileOnly 'org.projectlombok:lombok' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' developmentOnly 'org.springframework.boot:spring-boot-devtools' } 어디가 문제인지 모르겠습니다 ㅠㅠ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
InteliiJ IDEA에서 빌드 시 에러가 발생하지 않는데, EC2에서 빌드 시 에러가 발생합니다.
혹시 코드를 수정하고 계속 commit 해서, 맨 처음에 clone 했을 때의 코드와 현재 코드가 다른데 추가로 어떤 명령어를 더 입력해야 하나요 ?깃허브 주소입니다 ! https://github.com/jjeong1015/memberCertification/tree/main
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
./gradlew clean build --warning-mode=all --stacktrace 빌드 에러
https://www.inflearn.com/questions/1277467/%EB%B9%8C%EB%93%9C-%EC%8B%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4 말씀하신 명령어로 입력해보았으나 해당 에러들이 발생하였습니다 !깃허브 주소 : https://github.com/jjeong1015/memberCertification
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
빌드 시 에러가 발생합니다.
ubuntu@ip-172-31-86-200:~/memberCertification$ ./gradlew clean buildDeprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 15s 8 actionable tasks: 8 executed ubuntu@ip-172-31-86-200:~/memberCertification$ ./gradlew clean build > Task :test MemberCertificationApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1773 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:191 1 test completed, 1 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/ubuntu/memberCertification/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 15s 8 actionable tasks: 8 executed ubuntu@ip-172-31-86-200:~/memberCertification$ ./gradlew clean build > Task :test MemberCertificationApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1773 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:191 1 test completed, 1 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/ubuntu/memberCertification/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 14s 8 actionable tasks: 8 executed구글에 검색해본 결과, java: error: invalid flag: --warning-mode=all을 하면 된다는 글을 보고 Preferences > Compiler > java Compiler에 --warning-mode all --stacktrace 입력을 하고 실행을 해봤습니다.java: error: invalid flag: --warning-mode=all가 발생하며 실행이 되지 않습니다. 어떻게 해야 에러를 고칠 수 있을까요 ?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
tar.gz 압축 질문있습니다
- name: S3에 프로젝트 폴더 업로드하기 run : aws s3 cp --region 과정을 통해서 압축된 tar.gz 파일은 s3에 저장한다고 이해했는데 따로 압축해제하는 과정이 없어서 질문드립니다. run: aws s3 cp --region ... 다음 S3에 프로젝트 폴더 업로드 하는 과정에서 s3에서 해당 파일을 받고 난 후에 알아서 압축해제를 하는건가요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Github Actions는 성공적으로 끝났는데 docker 컨테이너가 실행되지 않습니다.
ci/cd가 끝난 후 ec2에서 docker ps 명령어를 쳤는데 컨테이너가 실행되지 않습니다. docker ps -a 명령어로 보니 status 가 Exited로 나오네요.ec2 사양은 t2micro 로 했는데 이 영향이 있을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Rocky Linux Repo 세팅 문의
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 3단계에서 Rocky Linux Repo 세팅에서 안되서 문의드립니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
파일 작성시
강의 잘 듣고 있습니다. ㅎㅎ yml 파일 작성시 저렇게 노란색으로 나오는데 왜나오는 건가요? 없앨수 있는 방법이 있나요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
마스터 1개와 노드2개를 조인하면서 오류가 발생했습니다.
카페에 쿠버네티스 설치과정을 마스터노드 1개만 할 경우 잘 작동합니다.하지만 궁금증에 마스터1개 노드2개를 vm에 설치해서 연동? 시켜보고싶어서 하는 과정에서 모든 설치과정을 마스터와 노드 똑같이 실행하였습니다.다만 마스터에서만 실행한 부분은 kubeadm init --pod-network-cidr=20.96.0.0/12 --apiserver-advertise-address 192.168.56.30mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/configkubectl create -f https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/calico-3.26.4/calico.yaml kubectl create -f https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/calico-3.26.4/calico-custom.yaml이렇게 명령어만 마스터에서 실행하였습니다. kubeadm init을 통해 나온 kubeadm join을 각 노드에 실행하면 error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists [ERROR Port-10250]: Port 10250 is in use [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists이라는 오류가 발생하더라고요. https://dongle94.github.io/kubernetes/kubernetes-cluster-reset/#google_vignette이렇게 해결해보았지만 똑같은 오류가 발생했습니다.우분투 20.04 lts , 22.04 lts, rocky9 모두 실행해보았지만 같은 오류가 발생하였습니다. 도와주세여 ㅠ
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Jenkin 소스코드관리 입력시 오류
저기 오류가 발생하여 무시하고 진행했을때 Running as SYSTEM Building in workspace /var/lib/jenkins/workspace/2121-source-build The recommended git tool is: NONE No credentials specified Cloning the remote Git repository Cloning repository https://github.com/k8s-1pro/kubernetes-anotherclass-api-tester.git > git init /var/lib/jenkins/workspace/2121-source-build # timeout=10 ERROR: Error cloning remote repo 'origin' hudson.plugins.git.GitException: Could not init /var/lib/jenkins/workspace/2121-source-build at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute(CliGitAPIImpl.java:1073) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:819) at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1222) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1305) at hudson.scm.SCM.checkout(SCM.java:540) at hudson.model.AbstractProject.checkout(AbstractProject.java:1245) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:649) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:85) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:521) at hudson.model.Run.execute(Run.java:1900) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Caused by: hudson.plugins.git.GitException: Error performing git command: git init /var/lib/jenkins/workspace/2121-source-build at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2858) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2762) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2757) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:2051) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute(CliGitAPIImpl.java:1071) ... 12 more Caused by: java.io.IOException: Cannot run program "git" (in directory "/var/lib/jenkins/workspace/2121-source-build"): error=2, No such file or directory at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) at hudson.Proc$LocalProc.<init>(Proc.java:252) at hudson.Proc$LocalProc.<init>(Proc.java:221) at hudson.Launcher$LocalLauncher.launch(Launcher.java:994) at hudson.Launcher$ProcStarter.start(Launcher.java:506) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2835) ... 16 more Caused by: java.io.IOException: error=2, No such file or directory at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:340) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ... 22 more ERROR: Error cloning remote repo 'origin' Finished: FAILURE 로그에서 이러한 오류를 발견했습니다. 사진과 같은 깃저장소의 오류때메 발생하는 거같습니다.