# 빌드, 배포가 실패 하는 경우

AppPaaS는 빌드와 배포 시에 발생되는 에러를 확인할 수 있게 빌드배포 로그를 제공하고 있습니다.

<figure><img src="/files/xM27fntyVbpeCFgF7xVO" alt=""><figcaption><p>빌드 및 배포 로그</p></figcaption></figure>

빌드 혹은 배포 실패 시 위의 로그를 확인하고 프로젝트의 설정 혹은 소스의 내용을 바꿀 수 있습니다.

다음은 주로 일어나는 빌드, 배포 실패의 유형이니 참고해주세요.&#x20;

1. **선택한 프레임워크와 소스에서 사용하는 프레임워크가 일치하지 않는 경우**\
   쉬운 빌드와 배포를 위해 AppPaaS는 프레임워크와 프레임워크버전, 언어의 버전 등을 선택하도록 되어 있습니다. <br>

   <figure><img src="/files/PSAsrSGP5aPm8uOKfcvA" alt=""><figcaption><p><br></p></figcaption></figure>

   설정에서 선택한 프레임워크 및 버전과 GitHub Repository에서 선택한 소스의 프레임워크 및 버전이 동일한지 꼭 확인해주세요.<br>
2. **디렉토리의 구조** \
   AppPaaS의 빌드는 Github Repository의 루트를 기준으로 설정되어 있습니다. \
   Java로 예로 들면 gradlew, mvnw 등이 루트에  위치하여야하고 다음과 같은 구조를 가져야합니다.   \ <mark style="background-color:yellow;">Github Repository (<https://github.com/{username}/{repo's> name}</mark>\
   &#x20; <mark style="background-color:yellow;">|- gradle/wrapper</mark>\
   &#x20; <mark style="background-color:yellow;">|- src/</mark>\
   &#x20; <mark style="background-color:yellow;">|- .gitignore</mark>\
   &#x20; <mark style="background-color:yellow;">|- build.gradle</mark>\
   &#x20; <mark style="background-color:yellow;">|- gradlew</mark>\
   &#x20; <mark style="background-color:yellow;">|- gradlew\.bat</mark>\
   &#x20; <mark style="background-color:yellow;">|- settings.gradle</mark>\
   \
   만약에 루트에 하위 디렉토리를 생성하고 그 디렉토리로 아래와 같은 구조를 가졌다면 빌드에 실패되게 됩니다. 디렉토리를 지정하는 기능은 곧 오픈할 예정이고 그 전에는 위와 같은 디렉토리를 가질 수 있도록 해주세요.<br>
3. **python** \
   python은 pip intstall 등을 통해 특정 패키지의 설치가 필요하지만 requirements.txt 의 파일이  존재하지 않는 경우가 있습니다. 또한, 리눅스의 특정 바이너리가 필요한 코드가 있을 경우 실행에 오류가 있을 수 있으며 특정 바이너리가 필요한 서비스의 구동이 필요할 경우 <apppaas@apppaas.com> 으로 문의 해주세요.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.apppaas.com/start/apppaas-guide/error-case.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
