김호쭈
DevForYou
김호쭈
전체 방문자
오늘
어제
  • 분류 전체보기 (321)
    • • 데이터베이스(DB) (9)
      • __SQL__ (9)
    • •알고리즘(Algorithm ) (117)
      • 문제풀이 (99)
      • 스터디 (14)
      • 알고리즘 팁 (4)
    • •Compter Science (57)
      • Operating System (25)
      • Computer Network (1)
      • Computer Vision (16)
      • Artificial Intelligence (14)
      • Software Technology (1)
    • • 독서 (36)
      • Design Pattern (24)
      • 객체지향의 사실과 오해 (1)
      • Object Oriented Software En.. (11)
    • • 개발 (26)
      • React (3)
      • node.js (6)
      • Django (11)
      • Spring boot (6)
    • • 개발Tip (4)
      • GitHub (0)
    • •프로젝트 (2)
      • 물물 (2)
    • •App (54)
      • 안드로이드 with Kotlin (50)
      • 코틀린(Kotiln) (4)
    • •회고 (8)
    • •취준일기 (3)
    • • 기타 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • KMU_WINK
  • 원격저장소
  • 깃허브데스크탑
  • local저장소
  • Remote저장소
  • ㄱ
  • 로컬저장소
  • GitHubDesktop

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김호쭈

DevForYou

[트러블슈팅] Github Action으로 스프링부트 CI/CD 적용중 생기는 경로 이슈
• 개발/Spring boot

[트러블슈팅] Github Action으로 스프링부트 CI/CD 적용중 생기는 경로 이슈

2023. 5. 5. 05:17

# 이슈 상황

Github Action을 이용한 배포 자동화 시스템 구축 할때

gradlew을 통한 빌드를 위한 gradle.yml을 작성할때

발단 1. 현재 프로젝트는 하나의 레포지토리에 front / backend 두개로 나뉘어 있음. 그렇기 때문에 backend브런치에 gradle.yml을 작성해야함. -> 기본 작성시에는 자동으로 main에 작성되게 됨

발단 2. 인텔리제이로 스프링 부트 프로젝트를 설정했고 root경로가 래핑되어 잡혀 버림 

 

## 이슈 키워드

Run chmod +x /backend/server/gradlew
chmod: cannot access '/backend/server/gradlew': No such file or directory
Error: Process completed with exit code 1.
A Gradle build should contain a 'settings.gradle' or 'settings.gradle.kts' file in its root directory. It may also contain a 'build.gradle' or 'build.gradle.kts' file.

 

# 해결


## 발단 1

  • gradle.yml을 만들고 난후, main에 바로 커밋을 하는것이 아니다. backend브런치에서 서브 브런치를 판 후, .github/workflows/gradle.yml파일을 개별 생성 한 후, 내용 작성 후 커밋하자 

 

## 발단 2

  • 경로를 찾지 못하는 에러가 발생했다.

  • working-directory를 . 로 설정 후 경로를 잡아주는 방식으로 변경했더니 아래와 같이, setting.gradle을 찾을 수 없다는 에러가 발생한다.

  • 위에 까지 에러를 종합해보면 어찌저찌 gradlew까지 접근은 성공했지만, 이후 build과정에서 찾게 되는 setting.gradle에 대한 경로가 잡히지 않는 것으로 보인다. 해당 이슈는 인텔리제이로 생성한 프로젝트 때문에 backend/server와 같이 프로젝트가 한번더 상위에 묶여 버렸다. 

### 해결 방법

name: Spring Boot & Gradle CI/CD 

on:
  push:
    branches: [ "backend" ]
  pull_request:
    branches: [ "backend" ]

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Set up JDK 11
      uses: actions/setup-java@v3
      with:
        java-version: '11'
        distribution: 'temurin'
    - name: Grant execute permission for gradlew
      run: chmod +x ./gradlew
      working-directory: backend/server
      # working-directory: .
    - name: Build with Gradle
      run : ./gradlew clean build --exclude-task test # Test 생략
      working-directory: backend/server
      # working-directory: .
  • working-direcotry를 프로젝트의 디렉토리로 잡아주어 해결했다.
저작자표시 (새창열림)

'• 개발 > Spring boot' 카테고리의 다른 글

[SpringBoot] Amazon Linux 2 AMI JDK11 설치 및 타임존 설정하기  (0) 2023.08.08
[SpringBoot&트러블슈팅] ddl-auto를 validate로 변경했을때 missing table 에러 해결하기  (0) 2023.08.01
[SpringBoot&트러블슈팅] 연관관계 편의 메소드에서 @Builder를 사용할때 발생하는 NPE  (0) 2023.07.06
[트러블슈팅] 타임리프에서 소수점 반올림 하는 방법  (0) 2023.05.20
[Spring boot] 스프링부트 배포시 타임리프(Thymeleaf) 경로 에러  (0) 2023.02.17
    '• 개발/Spring boot' 카테고리의 다른 글
    • [SpringBoot&트러블슈팅] ddl-auto를 validate로 변경했을때 missing table 에러 해결하기
    • [SpringBoot&트러블슈팅] 연관관계 편의 메소드에서 @Builder를 사용할때 발생하는 NPE
    • [트러블슈팅] 타임리프에서 소수점 반올림 하는 방법
    • [Spring boot] 스프링부트 배포시 타임리프(Thymeleaf) 경로 에러
    김호쭈
    김호쭈
    공부하고 정리하고 기록하기

    티스토리툴바