问候,
您的帮助将不胜感激。
我在 VSTS\Azure-DevOps 中创建了一个管道。它从 Bitbucket 的存储库中获取源代码。排队构建工作正常。它构建并且测试成功。
现在我想要一个构建在每次提交到 Bitbucket 上的存储库时运行。但是,当我编辑管道并在“触发器”选项卡中启用“持续集成”并单击“保存”时,出现以下错误:
无法在选定的 Bitbucket 存储库上配置服务。Bitbucket 返回错误“禁止:”。
我很困惑我得到了“禁止”,而让源代码已经工作。
我做错了什么?我必须在 VSTS\Azure-DevOps 或 Bitbucket 中配置一些东西吗?
我们将 NUnit 测试执行从 TeamCity 迁移到 Azure DevOps。迄今为止最大的问题之一 - 无法看到绿色(通过)测试的控制台输出。DevOps 中是否真的缺少这个基本功能,或者我根本不知道去哪里找?
以下是查看失败测试的控制台输出的方法:
更新:在文档中有一个“提示”(https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-开发运营):
如果您使用 Visual Studio 测试任务来运行测试,从测试(使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法)记录的诊断输出将显示为失败测试的附件。
文本明确指出“对于失败的测试”。看起来确实没有办法(没有简单的方法)看到非失败测试的控制台输出,这非常令人沮丧。
该功能在这里描述
现在,您可以在拉取请求(PR)视图中查看更改的代码覆盖率指标。这样可以确保您已通过自动化测试充分测试了更改。覆盖状态将在PR概述中显示为注释。您可以在文件差异视图中查看更改的每个代码行的覆盖率信息的详细信息。
但是要配置它,它需要azurepipelines-coverage.yml在仓库的根部,但是我在任何地方都找不到模式。
有人知道吗?无法配置它,默认代码覆盖率设置为70%,我似乎无法禁用它。
我已经用Google搜索,搜索了博客文章,搜索了Microsoft文档和Github。
GitHub Action“dotnet-tests-report”将包含测试结果的 Markdown 页面附加到 Github Action 工作流程运行摘要。这真的很好。工作流程完成后,结果会立即变得清晰。以视觉方式清晰。
它是开源的,但代码很复杂,所以我仍然不知道如何做到这一点。
我想要的是这样的:
我发现最近提到了实验性 PR 功能,他们提到了插入和应用 PR 本身建议的能力。
这是我在其他产品中已经非常习惯的功能,但目前我对如何在 Azure DevOps 中访问此功能有点迷失。
这是我实际看到的:
在 GitHub 中创建发布后,我会触发 GitHub 操作。在此操作中,我想从发布中获取一些数据,这可能吗?例如,我想获取标签,然后使用这个标签作为NuGet包版本。有没有办法从工作中获取这些数据?
在Google 应用程序引擎部署的 github 操作中,在 github 操作中引用了 id:
- id: Deploy
uses: google-github-actions/deploy-appengine@main
with:
credentials: ${{ secrets.GCP_SA_KEY }}
Run Code Online (Sandbox Code Playgroud)
但Github Actions 示例并不引用 id,而是将名称引用为 id:
每个作业必须有一个与该作业关联的 id。键 job_id 是一个字符串,其值是作业配置数据的映射。您必须将 <job_id> 替换为作业对象唯一的字符串。<job_id> 必须以字母或 _ 开头,并且仅包含字母数字字符、- 或 _。
jobs:
my_first_job:
name: My first job
my_second_job:
name: My second job
Run Code Online (Sandbox Code Playgroud)
有什么不同?
我在VS2019中做了一个项目。我在 .NET Core 和 .NET Framework 中有相同的项目。我在我的项目中使用 COM 引用。我想将这些项目迁移到 Pi4。一个简单的 Hello World 项目(.NET Core)在 Pi4 机器上成功运行。但是,当我尝试运行我的项目(.NET core 或 .NET Framework)时,它无法在 Pi4 上运行。它说不支持COM。
在 Google 中寻找解决方案后,我尝试在 Windows 环境中使用 MSBuild 构建项目。我在这里也看到类似的错误。错误是:错误:MSB4803:.NET Core 版本的 MSBuild 不支持任务“ResolveComReference”。请使用 MSBuild 的 .NET Framework 版本。
.NET Framework 项目也给出了类似的错误。错误 MSB4028:无法从“ResolvedFiles”参数检索“ResolveComReference”任务的输出。对象与目标类型不匹配。
有人有类似的问题吗?
以下是我尝试完成有条件插入模板的方法。根据要求,我想根据运行时提供的管道变量调用 fresh-deploy.yml 或 update.yml 。用户可以将名为“freshInstall”的变量编辑为 true 或 false。
主管道(入口点):
# azure-pipelines.yml
variables:
shouldUpdate: 'false'
jobs:
- job: TestJob
pool:
name: "Vyas' Local Machine"
steps:
- checkout: none
- template: ./testIf.yml
parameters:
freshInstall: $(freshInstall)
Run Code Online (Sandbox Code Playgroud)
testif.yml:
# testIf.yml
parameters:
- name: freshInstall
type: string # Can't be boolean as runtime supplied variable values ARE strings
steps:
# set a preexisting variable valued 'false' to 'true'
- powershell: |
$shouldUpdate = 'true'
Write-Host "##vso[task.SetVariable variable=shouldUpdate]$shouldUpdate"
displayName: 'Set Should Update to $(shouldUpdate)'
# Check …Run Code Online (Sandbox Code Playgroud) 现在我正在使用 GitHub Actions 来构建我的项目。在我的本地计算机上,我定义本地主机地址映射如下/etc/hosts:
11.19.178.213 postgres.dolphin.com
Run Code Online (Sandbox Code Playgroud)
在我的数据库配置中,如下所示:
spring.datasource.druid.post.master.jdbc-url = jdbc:postgresql://postgres.dolphin.com:5432/dolphin
Run Code Online (Sandbox Code Playgroud)
在我的生产服务器上,我可以编辑映射来定位数据库的不同 IP 地址。但现在我正在 GitHub Actions 中运行单元测试。如何编辑主机映射以使数据库映射到 GitHub Actions 的容器?我在 GitHub Actions 中定义了容器,如下所示:
jobs:
build:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13.2
env:
POSTGRES_PASSWORD: postgrespassword
POSTGRES_DB: dolphin
POSTGRES_USER: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
Run Code Online (Sandbox Code Playgroud)
我应该如何处理主机映射?我已经搜索过文档,但没有发现任何有关此问题的信息?
azure-devops ×5
.net ×1
azure-repos ×1
bitbucket ×1
c# ×1
devops ×1
github ×1
github-api ×1
pull-request ×1
raspberry-pi ×1
release ×1
yaml ×1