2017-10-11 1 views
11

Visual Studio 2017 (Community Edition)을 사용하여 ASP.NET 핵심 웹 API 응용 프로그램을 만들었습니다. Visual Studio를 사용하여 Azure App 서비스에 성공적으로 게시 할 수있었습니다.VSTS를 사용하는 ASP.NET 핵심 웹 API의 CI/CD

이제 VSTS를 사용하여 CI/CD를 설정하려고합니다. VSTS에서 프로젝트를 생성하고 빌드 정의를 작성한 Visual Studio의 'Configure Continuous Delivery'옵션을 사용했습니다. Nuget 복원 오류를 피하기 위해 VSTS의 'ASP.NET Core'템플릿을 기반으로 새로운 빌드 정의를 만들어야했습니다. 이 솔루션은 현재 구축하고 테스트가 실행되지만 '게시'작업은 경고 -

##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory. 

작업 비슷한 경고가 '유물 게시'와 함께 완료 - 분명

##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'. 

및 빌드 아티팩트가 생성되지 않습니다.

기본 ASP.NET 핵심 빌드 템플릿에 빌드 작업을 추가해야합니까? VSTS를 사용하여 Web API를 Azure에 게시하려면 어떻게해야합니까?

답변

18

경고 메시지로 저장소에 웹 프로젝트가없는 것으로 보입니다. .NET 핵심 게시 작업에서게시 웹 프로젝트 옵션을 선택 취소하고 프로젝트에 .csproj 옵션을 지정해야합니다.

enter image description here

그리고 당신은 또한 에 대한 힌트 메시지가 아래와 같이 웹 프로젝트 옵션 게시 찾을 수 있습니다 true의 경우

이 작업이 저장소에 웹 프로젝트를 찾으려고 것 및 공개 명령을 실행하십시오. 웹 프로젝트는 디렉토리에 web.config 파일 또는 wwwroot 폴더가있는 으로 식별됩니다.

+2

나는 web.config (대신 appsettings.json 파일이 있음) 오류가 있으며, wwwroot 폴더가 소스 제어에 있음을 보장함으로써 해결할 수 있음을 발견했습니다. . 이 경우 GitHub에서 GitHub이 폴더를 선택하기 위해 wwwroot에서 빈 파일을 만들어야했습니다 (GitHub는 빈 폴더를 좋아하지 않기 때문에). – Sam

+0

두 빌드가 거의 동일합니다. 둘 다 API 프로젝트이고 둘 다 web.config 파일이 없습니다. 그러나 API 프로젝트 중 하나에서이 제안을 적용 할 때까지는 압축 된 인공물을 만들지 않을 것입니다! – reckface

+0

Worked : 단계 게시 -> 프로젝트 : **/*. csproj –

관련 문제