기타

[오류] cannot open .git/FETCH_HEAD: Permission denied

나는시화 2024. 7. 21. 16:18

에러 내용

git action을 통해서 ci/cd 구축하는 방법을 공부 중에 에러 발생

해당 원인을 찾아보니 현재 사용자가 .git/FETCH_HEAD 파일에 접근할 권한이 없다는 것을 의미한다고 한다.

해결방법

실패방법: Git SSH key 추가

1. ssh-keygen -t rsa -C "나의 github email"

2. cat ~/.ssh/id_rsa_pub

3. ssh-rsa부터 이메일까지 모드 복사해준다.

4. SSH keys에 등록!

결과는 실패!

성공방법: 권한 부여 후 git Token 사용

1. sudo chown -R $USER .git/ 입력

2. git pull 시도

username과 비밀번호를 입력하라고 함.

매번 username과 비밀번호를 입력할 수 없으니
git config --global credential.helper store 입력 후 git pull 

나는 프로젝트 token을 password에 입력함

git config --global credential.helper의 store 옵션을 주게되면 해당 git directory에서 반영구적으로 인증 절차가 생략됨.
ec2에서 git pull은 성공

 

다시 git push를 통해 git action 실행했더니 또 실패..

실패 원인은 디렉토리 권한 문제

 

아래 이미지와 같이 프로젝트 디렉토리에다가 권한을 부여 후 ./gradlew clean으로 명령어가 잘 실행되는지 확인

 

결과

드디어 성공~

드디어 성공!!


마무리

ec2 생성 후 권한 부여도 중요함. 

ci/cd 구축도 처음이고 ec2도 처음이라 진짜 많이 헤맸다. 

그래도 해결하니 재밌습니다.