angular - ASP.NET Core + Angular 使用 Azure DevOps 发布管道部署工件
问题描述
我用 Angular 创建了一个 asp.net 核心项目。所以它是 1 个单声道应用程序而不是两个应用程序。
我的问题如下:
我应该选择部署哪个包/文件夹?Dist 文件夹还是 zip 文件?还是名为“artifactnametest”的文件夹?
解决方案
您应该改为发布您的 asp net core 应用程序。
这是来自我们的一个项目的示例构建文件。这仅适用于 asp.net 核心。对于 Angular 应用程序,我们会做一些额外的事情,比如npm install
在不同的任务中运行,但原理是一样的。
# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
runtime: 'win-x64'
steps:
- task: NuGetToolInstaller@1
# Restore all nuget packages and .net core tools
- task: DotNetCoreCLI@2
inputs:
command: 'custom'
projects: '**/*.csproj'
custom: 'restore'
arguments: '-r $(runtime)'
# Build projects
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '-c $(BuildConfiguration) --no-restore -r $(runtime)'
# Publish all projects to /staging/ci-build/<ProjectName>/
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: false
projects: |
**/*Client.csproj
**/*WorkerService.csproj
**/*Server.csproj
arguments: '-c $(BuildConfiguration) -o $(Build.StagingDirectory)/ci-build --no-build --self-contained -r $(runtime)'
zipAfterPublish: false
# Archive the /staging/ci-build folder to /staging/RemoteData.<BuildNumber>
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.StagingDirectory)/ci-build'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/RemoteData.$(Build.BuildNumber).zip'
replaceExistingArchive: true
# Publish the zipfile as artifact
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/RemoteData.$(Build.BuildNumber).zip'
ArtifactName: 'RemoteData.$(Build.BuildNumber)'
publishLocation: 'Container'
推荐阅读
- php - 如何将 PHP 中的 trader_macd 函数与来自 bittrex API 的值一起使用?
- php - 无法更新推进中的主键字段值
- mysql - 有没有办法只导入数据库表模式
- 3dsmax - 如何平滑边框
- c# - 如何使用 WPF 中的拖放功能在运行时将列表框动态添加到 Wrap 面板
- javascript - 使用 C# 从 DatePicker 获取周 ID
- warnings - 如何处理警告:PHP警告无法在centos服务器上加载php_openssl.dll No such file in unknown on line 0
- android - 扫描蜂窝网络
- regex - 用bash从字符串中提取整数
- node.js - 预检响应中的 Access-Control-Allow-Headers 不允许节点 Js 请求标头字段 Access-Control-Allow-Origin