gitlab cicd - remote origin already exists during git-clone

김건호·2023년 2월 6일
0

개요

인테그레이션 컨피그 실행 후, 파이프 라인 런에서 remote origin already exists 에러로 인해 task가 진행되지 않았습니다.

+ '[' false '=' true ]
+ '[' false
'=' true ]
+ '[' false '=' true ]
+ CHECKOUT_DIR=/workspace/output/
+ '[' false '=' true ]
+ test -z
+ test -z
+ test -z
+ git config --global --add safe.directory /workspace/output
+ /ko-app/git-init '-url=https://gitlab..nip.io/root/bookinfo' '-revision=master' '-refspec=' '-path=/workspace/output/' '-sslVerify=true' '-submodules=true' '-depth=1' '-sparseCheckoutDirectories='
{"level":"error","ts":1,"caller":"git/git.go:53","msg":"Error running git [remote add origin https://gitlab..nip.io/root/bookinfo]: exit status 3\nerror: remote origin already exists.\n","stacktrace":"github.com/tektoncd/pipeline/pkg/git.run\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:53\ngithub.com/tektoncd/pipeline/pkg/git.Fetch\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:109\nmain.main\n\tgithub.com/tektoncd/pipeline/cmd/git-init/main.go:53\nruntime.main\n\truntime/proc.go:250"}
{"level":"fatal","ts":1,"caller":"git-init/main.go:54","msg":"Error fetching git repository: exit status 3","stacktrace":"main.main\n\tgithub.com/tektoncd/pipeline/cmd/git-init/main.go:54\nruntime.main\n\truntime/proc.go:250"}

원인

각 태스크가 정상적으로 진행되면 .git파일이 삭제 되는데, 태스크가 실패 시, .git 파일 삭제까지 진행하지 못하여 nfs 디렉토리에 .git이 남아있어 origin 이미 있어 에러가 나는 상황이였습니다.

해결방법

  1. nfs 디렉토리 /mnt/nfs-shared-dir/gitlab-system/cicd-pvc-testapp.git파일을 삭제 후 run push event를 진행하면 됩니다.
  2. 인테그레이션 컨피그의 spec.jobs.postSummit.name(git-clone).tektonTask.paramas.name(deleteExisting).stringVal 부분을 true로 설정합니다.
profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글