-
blazor 앱 Linux App Service를 위한 pipelineAzure DevOps 2024. 2. 7. 14:52728x90
Linux App Service를 위한 pipeline
개요
- Azure App Service를 이용시 Pipeline을 사용해 빌드하고 배포하려 했는데 에러가 났었다. Azure App Service에서 사용한 앱 서비스는 Linux 였는데 기본적으로 Azure Devops에서 제공되는 ASP.NET 빌드 형식을 사용했었는데 Window 앱에 배포시에는 문제가 없었는데 리눅스쪽에서는 에러가나고 앱 서비스가 실행되지 않는 문제가 있었다. 그래서 빌드를 처음부터 리눅스에서 실행하고 배포를 준비하도록 변경하였다. 다음은 Azure Devops Pipeline을 사용하고 Release를 따로 사용하기에 다른 곳에서 사용시에는 조금 다르게 제작해야할 것이다.
사용한 코드는 다음과 같다
trigger: - master pool: vmImage: 'ubuntu-latest' # 리눅스 사용 variables: # 변수 지정 solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' steps: - task: UseDotNet@2 # dotnet을 이용해 빌드를 준비한다 inputs: packageType: 'sdk' version: '8.0.x' # 빌드하려는 버전으로 수정해서 사용하자 installationPath: $(Agent.ToolsDirectory)/dotnet - task: DotNetCoreCLI@2 inputs: command: 'restore' # Visual Studio를 사용해서 빌드하면 볼 일이 없는 명령어다. 해당 명령어를 통해 nuget package등의 작업을 모아서 작업하게 할 수 있다. projects: '**/*.csproj' - task: DotNetCoreCLI@2 inputs: command: 'build' # 빌드를 실행한다. projects: '**/*.csproj' arguments: '--configuration $(buildConfiguration)' - task: DotNetCoreCLI@2 inputs: command: 'publish' # 빌드한 것을 배포할 수 있도록 작업을 한다. publishWebProjects: true arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)' zipAfterPublish: true - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' # 배포작업물을 Artifact에 넣는다.(실제 배포시 Relase등을 사용해서 배포하도록 추가해야한다.) ArtifactName: 'drop' publishLocation: 'Container'
728x90반응형'Azure DevOps' 카테고리의 다른 글
Azure Devops에서 Power Platform Solution 파이프라인 기초구성 (0) 2023.06.01 AzureWebApp에 ASP(.NETFramework)로 CI/CD - 3 yml 파일 필수로 확인해야할 부분 (0) 2022.02.23 DevOps 팁 - Relases에서 다른 계정의 앱 서비스가 선택할 수 없을 시 (0) 2022.02.17 DevOps 5 - Artifacts 사용으로 Nuget 패키지 공유 (0) 2022.02.17 DevOps 4 - 첫 Azure Pipelines Relases 설정 (0) 2022.02.17