Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE/FIX] git hook chmod 권한이 없는 에러를 해결한다. #299

Merged
merged 14 commits into from
Mar 1, 2024

Conversation

kssumin
Copy link
Collaborator

@kssumin kssumin commented Mar 1, 2024

📌 관련 이슈

closed #297

✨ PR 내용

  • 이전에 release-be에서 bug가 발생하여 해당 브랜치에서 새로운 브랜치를 파서 bug를 해결하였습니다. 따라서 해당 커밋을 가져오기 위해서 이전 커밋들이 쌓여있습니다. 해당 PR과 관련된 내용은 마지막 commit만 입니다.

Gradle 구성

gradle의 Task는 설정(configuration)과 실행(execution)단계로 구성됩니다.

  • 설정 단계 : 작업의 속성과 의존성을 정의
  • 실행 단계 : 실제 작업을 실행

변경된 부분

tasks.create(name: 'gitExecutableHooks') {
    doLast {
        Runtime.getRuntime().exec("chmod -R +x ../../.git/hooks/")
    }
}

이전과 비교했을 때 변경된 부분을 보면 gitExecutableHooks을 정의할 때 doLast 블록 내에서 chmod 명령이 정의한 것입니다.
doLast { ... } 블록 내부에서 실행되는 코드는 실행(Execution) 단계에 속하고 여기서 chmod 명령이 실행합니다.
하지만 이전에는 구성단계에서 chmod 명령을 실행합니다.

그럼 왜 구성단계가 아니라 실행단계에서 실행시키면 chmod 명령이 제대로 실행되나요?

설정 단계에서는 Gradle이 실행되는 프로세스가 해당 디렉터리/파일에 대한 쓰기 권한이 없습니다.
하지만, 실행 단계에서는 해당 디렉터리/파일을 복사하는 작업을 수행한 뒤에 chmod 명령을 수행하기 때문에 Gradle Gradle이 실행되는 프로세스가 해당 디렉토리/파일에 대한 쓰기 권한을 가지고 있습니다.

주의 사항

브랜치 방향 꼭 확인하세요!!!!

kssumin and others added 14 commits November 30, 2023 20:17
[BE/BUG] term1 prod용 환경 설정으로 인한 변경
[BE/FEAT] term2 be merge to release-be
[BE/RELEASE] release 2.1 팀빌딩 기능 추가
…ion#279/delete-team-building

[BE/FEAT] 진행중인 팀빌딩을 삭제합니다.
…ion#279/delete-team-building

[BE/FIX] 별도의 트랜젝션으로 실행하도록 트랜젝션 분리
[BE/FIX] git hooks chmod 실행 권한이 없는 에러를 해결한다.
@kssumin kssumin added BE BE 업무 관련 이슈 bug-fix🚨 labels Mar 1, 2024
@kssumin kssumin self-assigned this Mar 1, 2024
@kssumin kssumin merged commit 6d95c06 into JNU-econovation:be Mar 1, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE BE 업무 관련 이슈 bug-fix🚨
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants