标签: azure-devops

Devops Pull Request 工作流程验证

我们使用 Azure DevOps,每个任务的工作流程如下:

  1. 任务分支到发布分支
  2. 然后发布分支到master

审核者将批准每个拉取请求。
然而,创建 PR 的用户也可以从任务分支直接创建一个 PR 到 master。

在此输入图像描述

有没有什么办法,通过策略/验证,系统可以阻止 PR 本身的创建,这是从任务到主控的过程。

azure-devops

1
推荐指数
1
解决办法
694
查看次数

到 Prod 的发布管道只是排队,尚未开始部署 - DevOps Azure

我在我的 DevOps 中为函数应用程序创建了一个发布管道。它具有测试部署阶段(手动触发)和产品部署触发器设置为“阶段后测试”。它还设置了部署前批准。手动触发释放(多个阶段)。测试已部署,但生产阶段只是排队。我也没有看到任何进行批准的选项。如何让产品也部署而不仅仅是排队?我错过了什么吗,请帮忙吗?截图会更有意义,附上 devops 的截图 -

产品部署前条件

产品部署前批准

部署前批准

产品排队的发布屏幕截图 -

产品已排队

azure-devops azure-pipelines-release-pipeline azure-function-app

1
推荐指数
1
解决办法
4185
查看次数

从 PowerShell 发布 PipelineArtifact

有没有办法从 PowerShell 脚本发布 Pipeline Artefact ?

我想避免创建额外的管道任务来发布文件。

代替:

      - task: PublishPipelineArtifact@1
        displayName: 'publish azuredeploy.parameters.json'
        inputs:
          targetPath: $(System.DefaultWorkingDirectory)/work
          artifactName: azuredeploy parameters
Run Code Online (Sandbox Code Playgroud)

我宁愿做这样的事情:

      - task: PowerShell@2
        displayName: 'replace ARM parameters'
        inputs:
          targetType: inline
          pwsh: true
          script: |
              # input
              $manifest = ReadObject "work/manifest.json"

              # process
              ReplaceArmTemplateParameters $manifest.modules

              # output
              PublishPipelineArtefact -targetPath "work/manifest.json" -artefactName "azuredeploy-parameters"


Run Code Online (Sandbox Code Playgroud)

也许构建代理提供了一个可以在PowerShell@2任务中使用的 API,例如:Agent.Plugins.PipelineArtifact.PublishPipelineArtifactTask::PipelineArtifactTaskPluginBaseV1

有任何想法吗?

(ps:这个问题好像有点过时了)

powershell azure-devops azure-pipelines

1
推荐指数
1
解决办法
1917
查看次数

SSDT:无法连接到主服务器或目标服务器“DB_NAME”。您必须在主服务器或目标服务器“DB_NAME”中拥有具有相同密码的用户

我将使用 Visual Studio 2019 通过 SSDT-DACPAC 自动化数据库部署,将部署更改的数据库是 SQL SERVER 2019,对于部署介质,我在部署启动时使用 Azure 管道和任务“SQL Server 数据库部署”抛出一个错误

  *** Could not deploy package.
      Unable to connect to master or target server 'DB_NAME'. You must have a user with the same 
      password in master or target server 'DB_NAME'.
Run Code Online (Sandbox Code Playgroud)

虽然我已经双重验证了数据库的用户和密码,但相同的密码将我连接到 ssms

请查找日志

2020-07-22T06:51:57.3001061Z ##[debug]Evaluating condition for step: 'Deploy using : dacpac'
2020-07-22T06:51:57.3004812Z ##[debug]Evaluating: succeeded()
2020-07-22T06:51:57.3005875Z ##[debug]Evaluating succeeded:
2020-07-22T06:51:57.3008135Z ##[debug]=> True
2020-07-22T06:51:57.3009350Z ##[debug]Result: True
2020-07-22T06:51:57.3010674Z ##[section]Starting: Deploy using : dacpac
2020-07-22T06:51:57.3715291Z ==============================================================================
2020-07-22T06:51:57.3716242Z Task         : SQL Server …
Run Code Online (Sandbox Code Playgroud)

dacpac sql-server-data-tools azure-devops sql-server-2019 ssdt-2019

1
推荐指数
1
解决办法
3872
查看次数

如何在点击用户故事时启用弹出窗口

如果我想在单击用户故事或任务时启用弹出窗口,任何人都可以检查是否有可切换的设置?我记得我以前有过 - 但现在,它只会在同一个窗口中打开它。不是弹出窗口。

azure-devops

1
推荐指数
1
解决办法
2384
查看次数

如何将带有 LFS 文件的 git 存储库传输到另一个存储库?

我们有一个本地 git 服务器,带有 LFS 文件。我们计划将所有内容迁移到 MS Azure DevOps 上。经过一些研究,我读到建议进行“镜像”克隆,以拥有所有内容(至少是标签):

git 克隆 --mirror

然后,由于我有一些 LFS 文件,我也想获取它们:

git lfs fetch --all

但我收到这个错误:

Error: Failed to call git rev-parse --git-dir --show-toplevel: "fatal: this operation must be run in a work tree\n"
Not in a git repository.
Run Code Online (Sandbox Code Playgroud)

对于我正在阅读的内容, git lfs fetch 在存储库上不起作用bare(并不是说我知道这是什么,但我认为它与该--mirror选项有关。

所以我的问题是:我应该怎么做才能将所有内容转移到这个新存储库?(此后本地服务器将关闭)。

谢谢

git git-lfs azure-devops git-lfs-migrate

1
推荐指数
1
解决办法
3642
查看次数

分支中的 Azure .yaml 管道文件策略

我有一个 git 分支策略如下:

分支机构:

experimental-feature integrates to develop

develop integrates to master
Run Code Online (Sandbox Code Playgroud)

在每个分支中,我都有一个名为 azure-pipelines.yaml 的文件,其中包含管道构建的规则,每个规则在每个分支中都不同,因为每个文件都有一个与trigger分支名称匹配的属性名称。

IE:master 分支有一个 azure-pipelines.yml,它有一个名为“master”的触发器属性,因为对于 master 分支上的每个更改,都会触发管道。开发和实验功能也是如此。到目前为止,一切都很好。

develop现在,我不明白为什么当我从git创建拉取请求时,master无法识别每个azure-pipeline.yaml(开发和主控)之间的更改。这很好,因为azure-pipeline.yml开发中的内容总是会覆盖master azure-pipeline.yaml,而我不希望这样。

experimental-feature但是,当我通过拉取请求集成时, gitdevelop的更改确实会识别我不想要的文件之间的更改。

有人可以在这里启发我吗?我在微软文档中也找不到它是如何工作的。

.net git azure azure-devops azure-pipelines

1
推荐指数
1
解决办法
2083
查看次数

如何使用 Azure DevOps Pipeline 打开/关闭 Azure AppService 的“仅限 Https”?

我的网站有一个 Azure 发布管道。对于该发布管道中的任务之一,我需要禁用 HTTPS ONLY 选项(它可在 Azure 门户中的 SSL/TLS Blade 下使用,检查下图)。执行该任务后,我想再次打开“HTTPS ONLY”。

有没有一种简单的方法可以做到这一点?

在此输入图像描述

PS:我已经审查过这个问题 ,但我不想使用 ARM 模板

https azure azure-devops azure-pipelines azure-appservice

1
推荐指数
1
解决办法
1153
查看次数

使用 Helm 3 将 Azure DevOps Pipeline 部署到 Kubernetes:没有此类文件或目录

我有一个 Asp.net Core 项目,我正在尝试使用 Helm 3 创建用于 Kubernetes 部署的 Azure DevOps Pipeline。

该项目的结构是:

服务器图表服务器 Chart.yaml 控制器等。

当前的构建管道会构建 docker 映像,并将其上传到 Azure 容器注册表。

错误发生在 HelmDeploy 任务 'package' => ChartPath:

在此输入图像描述

这是部署的管道阶段:

  - stage: 'Deploy'
  displayName: 'Deploy the container'
  dependsOn: Build
  jobs:
  - deployment: Deploy
    displayName: Deploy
    pool:
      vmImage: 'ubuntu-latest'
    environment: 'staging'
    strategy:    
      runOnce:
        deploy:
          steps:        
          - task: HelmInstaller@0
            inputs:
              helmVersion: 'latest'
              installKubectl: true
          
          - task: HelmDeploy@0
            inputs:
              command: 'package'
              chartPath: Server/charts/server

          - task: HelmDeploy@0
            inputs:
              connectionType: 'Kubernetes Service Connection'
              kubernetesServiceConnection: 'Staging-592588480'
              namespace: 'staging' …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines kubernetes-helm

1
推荐指数
1
解决办法
2713
查看次数

如何在 Azure DevOps 中使部分成功的阶段变为失败?

我正在发布管道上运行纽曼测试,但是当测试出错时,它只是将该阶段标记为部分成功,但我想让它无法触发自动重新部署触发器。这可能吗?

在此输入图像描述

azure azure-devops azure-pipelines

1
推荐指数
1
解决办法
6507
查看次数