我们使用 Azure DevOps,每个任务的工作流程如下:
审核者将批准每个拉取请求。
然而,创建 PR 的用户也可以从任务分支直接创建一个 PR 到 master。
有没有什么办法,通过策略/验证,系统可以阻止 PR 本身的创建,这是从任务到主控的过程。
我在我的 DevOps 中为函数应用程序创建了一个发布管道。它具有测试部署阶段(手动触发)和产品部署触发器设置为“阶段后测试”。它还设置了部署前批准。手动触发释放(多个阶段)。测试已部署,但生产阶段只是排队。我也没有看到任何进行批准的选项。如何让产品也部署而不仅仅是排队?我错过了什么吗,请帮忙吗?截图会更有意义,附上 devops 的截图 -
产品部署前批准
产品排队的发布屏幕截图 -
azure-devops azure-pipelines-release-pipeline azure-function-app
有没有办法从 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:这个问题好像有点过时了)
我将使用 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
如果我想在单击用户故事或任务时启用弹出窗口,任何人都可以检查是否有可切换的设置?我记得我以前有过 - 但现在,它只会在同一个窗口中打开它。不是弹出窗口。
我们有一个本地 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 分支策略如下:
分支机构:
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的更改确实会识别我不想要的文件之间的更改。
有人可以在这里启发我吗?我在微软文档中也找不到它是如何工作的。
我的网站有一个 Azure 发布管道。对于该发布管道中的任务之一,我需要禁用 HTTPS ONLY 选项(它可在 Azure 门户中的 SSL/TLS Blade 下使用,检查下图)。执行该任务后,我想再次打开“HTTPS ONLY”。
有没有一种简单的方法可以做到这一点?
PS:我已经审查过这个问题 ,但我不想使用 ARM 模板
我有一个 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 ×10
azure ×3
git ×2
.net ×1
azure-pipelines-release-pipeline ×1
dacpac ×1
git-lfs ×1
https ×1
powershell ×1
ssdt-2019 ×1