[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: Could not find credentials matching ecr_credentials_id
GitHub has been notified of this commit’s build result
Finished: FAILURE
자꾸 이렇게 ECR id를 찾을 수 없다는 오류 발생..... 크레덴션에는 다 맞게 설정했고, aws configure도 해줬습니다.
젠킨스 파일을 살펴보니
stage('Push to ECR') {
steps {
script {
// ECR에 Docker 이미지를 푸시하는 단계
docker.withRegistry("https://${ECR_REPO}", "${ECR_CREDENTIALS_ID}") {
dockerImage.push('latest')
}
}
}
}
저기 eCr_Credentials_id에 중괄호가 빠져있어 혹시 그건가했더니.. 그것도 아니다.
중괄호는 상관이없다네요 엄한데서 싸우고 있었어요.
.
.
.
.
.
so 해결 완.
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
environment {
REPO = 'KTB-FarmMate/FramMate-API-Server'
ECR_REPO = '211125697339.dkr.ecr.ap-northeast-2.amazonaws.com/farmmate/backend'
ECR_CREDENTIALS_ID = 'ecr:ap-northeast-2:ecr_credentials_id'
SSH_CREDENTIALS_ID = 'EC2_ssh_key_test'
}
여기 ECR_CREDENTIALS_ID에서 앞에 ecr:ap-northeast-2가 빠져서 그런거였다ㅜㅜㅜㅜㅜㅜㅜ 이게 없으면 aws ECR과의 통신을 못한다네요
고작 이거 때문에.. 그렇게 헤매다니... 어쨌든 고생했습니다.. 이제 Master Agent 구성ㅇ을 이해하며 왜 origin만 찾아서 빌드가 안됐는지를 다시 살펴봐야겠습니다.
#45 [ 1/41] FROM docker.io/library/python:3.10-slim@sha256:eb9ca77b1a0ffbde84c1dc333beb3490a2638813cc25a339f8575668855b9ff1
#45 resolve docker.io/library/python:3.10-slim@sha256:eb9ca77b1a0ffbde84c1dc333beb3490a2638813cc25a339f8575668855b9ff1 0.0s done
#45 sha256:eb9ca77b1a0ffbde84c1dc333beb3490a2638813cc25a339f8575668855b9ff1 9.13kB / 9.13kB done
#45 sha256:e7d6ea327beabaeeb064aa3334a56ab0d99ca52e335abcbacf6b1af3fe543def 1.75kB / 1.75kB done
#45 sha256:3e625a83fe8d3ea2a08e8752ea253145030a2ed42baf00582dbe129e7f79d392 5.45kB / 5.45kB done
#45 CANCELED
------
> [41/41] COPY ./FarmMate-AI-Server .:
------
Dockerfile:50
--------------------
48 |
49 | # 깃 레포지토리에서 프로젝트 파일을 복사
50 | >>> COPY ./FarmMate-AI-Server .
51 |
52 | # 애플리케이션 포트를 외부에 노출
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 194c34c5-ebcd-4a76-a146-7a81d27078d9::yse6y0ir9voccqhaor5t22il7: "/FarmMate-AI-Server": not found
AI서버 빌드하려는데 이런 오류가 발생... 파일구조가
이렇게 되어있어서 그런 것 같다.
그래서 COPY . . (현재 전체를 컨테이너 현재에 복사)
그래서 해결완료~
Jenkins credentials 에서
이게 ㅜ머였지 했는데 그냥 Ip 주소를 숨겨놓은 거였습니다. 그렇게 AI서버도 CICD 구축 완료~~~~
그러다가 갑자기 docker logs에서 오류 로그가 검출됐어요.
2024-10-29 07:09:45.944+0000 [id=2907] INFO hudson.slaves.SlaveComputer#tryReconnect: Attempting to reconnect agent_test
2024-10-29 07:09:45.946+0000 [id=2907] INFO o.j.p.cloudstats.CloudStatistics#getIdFor: No support for cloud-stats-plugin by class hudson.plugins.ec2.EC2SpotSlave
2024-10-29 07:09:45.950+0000 [id=2909] SEVERE hudson.slaves.CommandLauncher#launch: Unable to launch the agent for agent_test
java.io.EOFException: unexpected stream termination
at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:459)
at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:404)
at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:440)
at PluginClassLoader for command-launcher//hudson.slaves.CommandLauncher.launch(CommandLauncher.java:170)
at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:297)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
이런 에러 로그가...? 근데 알고 보니 master agent 형성하는 부분에서 java와 깃을 깔아서 Java에 맞는 환경은 설정해주었는데 python은 설치해주지않아서 오류가 나는 것이었답니다~~ 다시 AMI 형성할 때 python도 깔아주고 바꿔 넣어줬더니 완성
'카카오테크 부트캠프' 카테고리의 다른 글
[KTB-Final]nginx리버스 프록시 이슈(ai 서버에 전달되지 않는 오류) (1) | 2024.11.07 |
---|---|
[KTB-Final] 젠킨스로 CI/CD 젠킨스 설정부터 Jenkinsfile작성 (0) | 2024.10.29 |
[KTB-Final] 젠킨스 서버(private) 만들기 + nginx리버스 프록시로 연결 (0) | 2024.10.23 |
[KTB_Final]어플리케이션 테스트하기 - nginx와 Jenkins설정(+ RDS MySQL 2003 ERROR) (0) | 2024.10.21 |
[KTB_Final] 인프라 비용계산 및 아키텍처 설계(+리버스 프록시 Nginx?) (2) | 2024.10.16 |