Jenkins 파이프라인 빌드 실패 로그 분석 및 해결 방법에 관한 내용입니다.
실패 발생 지점: 1. Checkout Code 단계 (Git 소스 코드 가져오기)
핵심 에러 메시지:
No credentials specified
remote: HTTP Basic: Access denied.
fatal: Authentication failed for '[http://rinobuno.synology.me:8080/react/new-atms.git/](http://rinobuno.synology.me:8080/react/new-atms.git/)'
원인 요약:
Jenkins가 rinobuno.synology.me에서 호스팅 중인 Git 저장소에서 코드를 내려받으려고 시도했으나, 인증 정보(Credentials)가 지정되지 않았거나 잘못되어 접근이 거부되었습니다.
GitLab 또는 Git 서버의 사용자 계정/비밀번호 또는 Personal Access Token(PAT)을 Jenkins에 등록해야 합니다.
Jenkins 메인 페이지 → Jenkins 관리 (Manage Jenkins) → Credentials 이동
System 또는 Global 도메인 클릭 후 Add Credentials 버튼 클릭
정보 입력:
Kind: Username with password
Username: Git 서버 ID (또는 토큰 이름)
Password: Git 서버 비밀번호 (또는 발급받은 Personal Access Token)
ID: 파이프라인 코드에서 사용할 식별자 (예: git-repo-credentials)
Create를 눌러 저장합니다.
파이프라인 script에서 git 또는 checkout 스텝에 위에서 생성한 credentialsId를 추가해 줍니다.
git 스텝을 사용하는 경우:Groovy
stage('1. Checkout Code') {
steps {
git credentialsId: 'git-repo-credentials',
url: 'http://rinobuno.synology.me:8080/react/new-atms.git',
branch: 'main' // 또는 'master'
}
}
checkout SCM 스텝을 사용하는 경우:Groovy
stage('1. Checkout Code') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: '*/main']],
userRemoteConfigs: [[
credentialsId: 'git-repo-credentials',
url: 'http://rinobuno.synology.me:8080/react/new-atms.git'
]]
])
}
}
참고: 만약 2차 인증(2FA)이 설정되어 있거나 OAuth 토큰 정책이 적용된 Git 서버라면, 비밀번호 대신 Personal Access Token을 비밀번호란에 입력하여 Credentials를 생성해야 정상적으로 인증됩니다.
댓글목록
등록된 댓글이 없습니다.