Skip to content
JeeIn Lee edited this page Jun 29, 2023 · 4 revisions

gradlew permission denied 이슈

상황

  • Githun Actions 테스트 하면서 gradlew permission denied 이슈 발생
  • 혼자서 할 때는 발생하지 않았는데 협업하면서 처음 발생함

원인

  • Springboot 세팅을 해주신 네모네모의 개발환경이 Window였다.
  • Window 환경에서 작업해서 소스를 push하면 파일 생성 시 기본 권한이 644로 생성된다.
  • 644는 루트 사용자, 일반 사용자, 그룹 모두 실행 권한이 없기 때문에 권한을 추가해줘야 한다.

해결

  • +x 옵션 또는 755 권한으로 실행 권한을 추가해주자.
chmod +x ./gradlew
  • 혹은 git 명령어를 통해 권한을 변경할 수 있다.
git update-index --add --chmod=+x gradlew

참고 아래 명령어를 사용하면 git 인덱스에 잡혀있는 파일의 권한을 확인할 수 있다.

git ls-tree HEAD

github actions working directory 이슈

상황

  • build 시 gradlew 위치가 인식이 되지 않음

원인

  • 1개의 Repository에 FE, BE와 같이 여러 프로젝트가 있을 경우, Github Actions를 그냥 실행하면 루트 경로에서 서버가 실행되기 때문에 내 프로젝트의 파일 경로가 인식이 안됨

해결

  • working directory 경로 추가로 해결
defaults:
      run:
        shell: bash
        working-directory: ./be

Build 단계에서의 Lombok Annotation Processor 이슈

상황

error: cannot find symbol

원인

  • 인텔리제이에서 지원하는 annotation processing 기능을 사용해서 gradle로 build 할 때 Lombok 관련 설정이 없어서 발생

해결

  • build.gradle 파일에 설정 추가
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

dependencies {
    compileOnly 'org.projectlombok:lombok'
		annotationProcessor 'org.projectlombok:lombok'
}

CodeDeploy 단계까지 성공했으나 자동배포 스크립트만 실행되지 않는 이슈

상황

  • AWS UI에서 CodeDeploy의 모든 단계가 성공한 것 확인
  • EC2에 프로젝트 파일이 모두 들어온 것 확인
  • EC2 프로젝트 경로에 [autodeploy.sh](http://autodeploy.sh) 파일 있는 것 확인
  • BUT 서버 배포 안됨

원인

  • hooks: ApplicationStart 단계에서 ubuntu 권한으로 돌리는데 .sh 파일 내 스크립트에서 root 권한이 필요한 경로가 있었음

해결

  • .sh 파일 내 경로를 ubuntu 경로 안에서만 실행되도록 수정
  • 스크립트 수정하지 않고 runas에서 root 권한으로 돌려도 될 듯 함

Clone this wiki locally