鉴于 azure 应用程序服务设置是在 azure 门户中完成的,并且除了服务连接之外,还设置了 azure devops 管道。有没有办法使用基于 Arm 模板的基础设施 yaml 管道来自动创建服务连接?我们想要运行此管道并更新用户 yaml 管道中的服务连接。
我有一个在 YAML 中运行的 Azure DevOps 管道。
我正在使用 VSTest@2 任务来执行一些单元测试。这一切都工作正常,我看到测试结果出现在阶段概述 UI 本身以及标题中的“测试和覆盖范围”概述中。
我的 YAML 管道还会向 Slack 通道发布一条消息,其中包含指向构建、成功/失败状态和其他内容的链接。我也热衷于将测试结果添加到消息中...只是一个简单的“总测试 X - 通过 X - 失败 X - 跳过 X”显示。这发生在最后的一个单独的阶段。
有没有办法在管道的后期(在不同的代理上运行)中获取前一阶段的测试结果?
测试是否可作为工件使用,如果是,它们在哪里以及以什么格式提供?
我认为唯一的方法是通过 Azure API 是正确的吗?(我真的懒得为了这个功能而在管道中设置身份验证,我在其他任何地方都不与 API 交互)
我希望用户在单击“运行管道”按钮之前输入变量的值
我有空变量pipeline.yml:
- name: projectName
value:
Run Code Online (Sandbox Code Playgroud)
但 UI 没有显示:
我应该如何为用户输入定义 var?
我有一个我们设置的 Azure DevOps 工件源。在与工件相同的项目中,我创建了一个 gradle 构建,并使用令牌作为密码,我可以访问工件提要以使其访问工件。我部门的某人认为可能有一种方法可以在没有令牌的情况下访问工件存储库。我尝试使用 System.AccessToken 但它不起作用。也许有不同的方法来设置工件?
这是我的 gradle.build 文件:
credentials {
username "Testuser"
DevOps Services_ENV_ACCESS_TOKEN") : vstsMavenAccessToken
//password "<using raw token works>"
//password System.getenv("SYSTEM_ACCESSTOKEN")
password System.getenv("TOKEN")
}
Run Code Online (Sandbox Code Playgroud)
这是我的 azure-pipelines.yml,我在其中定义了在 build.gradle 文件中使用的变量。token 是一个环境变量,我已将其设置为我的实际令牌(有效)。如果我交换它并使用 System.AccessToken 它不起作用:
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
TOKEN: $(token)
Run Code Online (Sandbox Code Playgroud)
保持健康,感谢任何帮助或见解!
启用调试/诊断时,您会在 Azure Pipeline 日志中看到所有这些条件调试语句。
##[debug] -NoLogo
##[debug] -NoProfile
##[debug] -NonInteractive
##[debug] -Command
Run Code Online (Sandbox Code Playgroud)
但是如何从 PipeLine YAML 文件、脚本或程序打印这些内容呢?我在 Azure PipeLines日志记录命令文档中看到了通过 powershell 记录警告和错误的示例。
echo "##vso[task.logissue type=error]Something went very wrong."
echo "##vso[task.logissue type=warning;sourcepath=consoleapp/main.cs;linenumber=1;columnnumber=1;code=100;]Found something that could be a problem."
Run Code Online (Sandbox Code Playgroud)
但条件调试详细语句中没有任何内容。
我希望使用 AzureDevOps 作为我的 CI/CD 工具来启用我的项目 (asp.net api) CI/CD。
我希望通过 FTP 将我发布的文件上传到我的托管提供商。
目前,当通过 Azure DevOps 构建产品时,它会将应用程序创建为 Msdeploy 文件。我的托管提供商不支持通过 ftp
建造
正如您所看到的构建工件,其格式为 Web 部署
上传文件后,服务器不知道如何部署 msdeploy 项目文件。 如何使用 AzureDevOps 部署网站
我想将文件作为 ftp 支持的常规文件上传,或者我想以自动方式执行 msdeploy
我有一个合适的地方,我必须使用 power shell 触发我的发布管道,所以我必须使用 azure cli,所以他们的任何命令都可以使用 azure cli 触发我的发布管道
azure azure-cli azure-devops azure-functions azure-pipelines
当我尝试运行 Azure Devops 生成的 powershell 脚本来配置我的部署组时,出现以下错误。我该如何解决。
“远程服务器返回错误:(407) 需要代理身份验证。”
我想在我的 VM 上安装 azure 代理,并将其显示为环境资源,如下所述:https://learn.microsoft.com/en-us/azure/devops/pipelines/process/environments-virtual-machines?视图=azure-devops。
如果您以交互方式运行脚本,那么这是有效的,但是当我使用时--unattended(如下所述: https: //learn.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows ?view=azure-devops# unattended-config)不再有指定标签的方法。该--addDeploymentGroupTags选项不适用于环境代理。
如何使用标签自动添加虚拟机作为环境资源?
在面板中拖放项目时 | 冲刺可以改变顺序。我们在与团队讨论时使用它,并将该顺序用作“应该首先做什么”。
在从当前冲刺中选择项目的查询中,不会保留该顺序,并且似乎没有可过滤的字段来以与冲刺中相同的顺序获取项目。
有什么建议 ?
azure-devops ×10
azure ×2
azure-cli ×1
ftp ×1
msdeploy ×1
nunit ×1
powershell ×1
publishing ×1
unit-testing ×1