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

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

<figure><img src="https://1281168261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F69bJtwnfn269Dqzr8gks%2Fuploads%2FRR2Tb7gnBHMdY5svQr1m%2Fimage.png?alt=media&#x26;token=2400338c-52d3-4aba-88cb-f628f6d07a8f" alt=""><figcaption><p>빌드 및 배포 로그</p></figcaption></figure>

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

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

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

   <figure><img src="https://1281168261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F69bJtwnfn269Dqzr8gks%2Fuploads%2FEjfBEeO3cftBUHLZaaZm%2Fimage.png?alt=media&#x26;token=2678f011-7a88-4e12-af1e-83c8a059c7e2" 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;
