Azure DevOps / 多个项目
Azure DevOps / Multiple projects
我正在尝试使用 Azure DevOps 准备好 CICD。我有一个很大的回购协议,其中包含 1 个 webapp、2 个 azure 函数和一些其他用作库的项目。所以我要在不同的环境中部署 3 个项目。
我在这些项目的根目录下只有 1 个 .sln 文件。
我能够构建所有项目,但我不知道如何获取 1 个特定的构建项目(工件?)并进行部署。
- task: VSBuild@1
inputs:
solution: 'allproject.sln'
- task: PublishBuildArtifacts@1
我试过了,我能够在我的发布管道上部署工件,但是当我只构建了一个项目时。在这里我不知道如何进行。
拆分我的项目并为每个项目创建解决方案是可能的,但如果可能的话我会避免这种情况。也可以使用 MSBuild,但我真的想避免使用它,因为它很复杂(在管道维护方面,我们是一个小团队)。
在 GeralexGR 很棒的回答后,我解决了一些问题,但我无法解决工件的发布。
Here a screenshot of my problem
所以我想在function app env上发布functionApp,但是在发布界面无法选择神器。有什么想法吗?
我已经根据您的描述创建了一个解决方案。在此设置中,我在 functions 文件夹中包含了一个 consoleApp 和两个函数应用程序,如下所示。
您可以像在 visual studio 上那样构建您的项目,每个项目都将包含带有工件的输出 bin 和 obj 文件夹。
然后你应该决定你应该如何进行的策略。例如,您可以上传所有 ArtifactsStagingDirectory 或单独的每个文件夹。
YAML 管道:
trigger:
- none
pr: none
pool:
vmImage: ubuntu-latest
steps:
- task: UseDotNet@2
inputs:
packageType: sdk
version: '6.0.x'
includePreviewVersions: true
- task: DotNetCoreCLI@2
displayName: Building .NET project
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration debug'
定位结构的测试步骤:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
cd "$(Pipeline.Workspace)/s"
ls
在函数和控制台应用程序项目中,您可以找到构建工件。
我正在尝试使用 Azure DevOps 准备好 CICD。我有一个很大的回购协议,其中包含 1 个 webapp、2 个 azure 函数和一些其他用作库的项目。所以我要在不同的环境中部署 3 个项目。
我在这些项目的根目录下只有 1 个 .sln 文件。
我能够构建所有项目,但我不知道如何获取 1 个特定的构建项目(工件?)并进行部署。
- task: VSBuild@1
inputs:
solution: 'allproject.sln'
- task: PublishBuildArtifacts@1
我试过了,我能够在我的发布管道上部署工件,但是当我只构建了一个项目时。在这里我不知道如何进行。
拆分我的项目并为每个项目创建解决方案是可能的,但如果可能的话我会避免这种情况。也可以使用 MSBuild,但我真的想避免使用它,因为它很复杂(在管道维护方面,我们是一个小团队)。
在 GeralexGR 很棒的回答后,我解决了一些问题,但我无法解决工件的发布。
Here a screenshot of my problem
所以我想在function app env上发布functionApp,但是在发布界面无法选择神器。有什么想法吗?
我已经根据您的描述创建了一个解决方案。在此设置中,我在 functions 文件夹中包含了一个 consoleApp 和两个函数应用程序,如下所示。
您可以像在 visual studio 上那样构建您的项目,每个项目都将包含带有工件的输出 bin 和 obj 文件夹。
然后你应该决定你应该如何进行的策略。例如,您可以上传所有 ArtifactsStagingDirectory 或单独的每个文件夹。
YAML 管道:
trigger:
- none
pr: none
pool:
vmImage: ubuntu-latest
steps:
- task: UseDotNet@2
inputs:
packageType: sdk
version: '6.0.x'
includePreviewVersions: true
- task: DotNetCoreCLI@2
displayName: Building .NET project
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration debug'
定位结构的测试步骤:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
cd "$(Pipeline.Workspace)/s"
ls
在函数和控制台应用程序项目中,您可以找到构建工件。