我已支付通过私人 NuGet 源检索的许可 NuGet 包。当尝试从该源搜索 Visual Studio 中的任何包时,它会提示输入用户名和密码。该应用程序(Xamarin Forms)可以很好地使用这些许可包构建。
另一方面,现在 Azure DevOps 失败了,因为它无法从 nuget.org 恢复块。
经过研究,尝试了两种选择:
选项 1:使用 DevOps 中的“服务连接”通过凭据连接到此源,就像在 Visual Studio 中一样,然后使用 NuGet 还原来选择该服务连接。这会生成一个临时 nuget.config 文件,其完整内容为:<configuration/>并且该任务无法找到丢失的 NuGet。
选项 2:使用 Artifacts,并从本地计算机手动推送。我已从其位置推送了项目引用的文件,但其工件描述末尾附加了“试用版本”。构建仍然失败并出现以下错误:
##[error]The NuGet command failed with exit code(1) and error(NU1101: Unable to find package Infragistics.XF.DV. No packages exist with this id in source(s): 94785e32-5a7b-4923-93b0-abe71c3c1f4c
Run Code Online (Sandbox Code Playgroud)
我认为这两种情况都会失败,因为临时 nuget.config 文件为空。在选项2之后,配置文件被删除,所以我看不到里面到底有什么。
另请注意,使用 Visual Studio 浏览时此源非常慢。
请告知我如何将私有包引入 DevOps?
编辑答案:Nuget 恢复任务,nuget.config 路径为空,因为我预计会自动生成一个与答案内容类似的新路径。我将 Nuget.config 添加到带有 2 个提要的项目源代码中,并且它工作正常。
此外,您还可以在以下位置找到 Visual Studio 全局 Nuget.config:%AppData%\NuGet …
nuget-package nuget-package-restore xamarin.forms azure-devops
我使用以下 Yaml 设置了 azure 构建管道
该项目是一个简单的 hello world 控制台应用程序,用 c# .net core 3.1 编写
当我在本地构建或发布该项目时,我得到以下输出:
但是,通过构建管道发布的工件为我提供了以下文件:
所以在这里,文件大小更小,更重要的是 TestYaml.exe 丢失了,并被 TestYaml 文件替换。
这应该相当简单,但我不明白缺少什么。
先谢谢您的帮助!
我们已经配置并运行 Azure DevOps Pipeline 构建和发布一年多了。我们部署到 Azure 应用服务。最近,我们开始将一些应用程序服务迁移到 ASE(Azure 服务环境)中。这需要创建新的版本定义以部署到我们站点的新 ASE 实例。新的发布管道失败,并出现各种错误或警告,其中都包含Error: getaddrinfo ENOTFOUND。
例子:
部署失败,出现错误:错误:错误:无法将 Web 包部署到应用服务。错误:getaddrinfo ENOTFOUND xxxx.scm.xxxx.appserviceenvironment.net xxxx.scm.xxxx.appserviceenvironment.net:443
2020-06-10T15:18:33.6525723Z ##[警告]错误:无法更新部署历史记录。错误:getaddrinfo ENOTFOUND xxxx-staging.scm.xxxx.appserviceenvironment.net xxxx-staging.scm.xxxx.appserviceenvironment.net:443 2020-06-10T15:18:33.7227144Z ##[警告]错误:无法更新部署历史记录。错误:getaddrinfo ENOTFOUND xxxx.scm.xxxx.appserviceenvironment.net xxxx.scm.xxxx.appserviceenvironment.net:443
getaddrinfo ENOTFOUND看起来是与许多不同问题相关的一般错误。想知道是否有人在 Azure DevOps 发布到 ASE 的上下文中遇到过并找到了解决方案。
在 azure-artifact 中,我们设置了一个“项目范围”提要名称“feed1”,其中包含 NPM 包。此提要已附加到“Project1”。
现在我的“Project2”管道无法从“feed1”获取包。
注意:所有 NPM 包都存在于 AZURE-ARTIFACT 中,但我仍然收到 404 错误。
在 Azure DevOps 中,我使用多阶段 YAML 管道进行构建和部署。屏幕截图显示了当前的管道设置。我希望单独拥有 sandbox1 而不依赖于 Build。
trigger: none
pr: none
stages:
- stage: 'Build'
jobs:
- job: 'Build'
pool:
vmImage: ubuntu-16.04
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
- stage: 'Sandbox'
jobs:
- job: 'Sandbox'
pool:
vmImage: ubuntu-16.04
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
- stage: 'DEV'
jobs:
- job: 'DEV'
pool:
vmImage: ubuntu-16.04
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
- stage: 'QA'
dependsOn: ['DEV','DEV1']
jobs: …Run Code Online (Sandbox Code Playgroud) 我现在感觉很沮丧,但我就是无法让它发挥作用。对 ARM 模板有点陌生,很抱歉我的无知。
我尝试将parameters.json 与New-AzResourceGroupDeployment 结合使用,但我想在VMName 中动态提供它。
我正在尝试使用它作为 NSG 名称:
“值”:“[concat(变量('vmName'),'-nsg')]”
但我得到一个错误:
New-AzResourceGroupDeployment:上午 6:39:21 - 错误:代码=InvalidResourceName;消息=资源名称 [concat(variables('vmName'),'-nsg')] 无效。该名称的长度最多可达 80 个字符。它必须以单词字符开头,并且必须以单词字符或以“ ”结尾。该名称可能包含单词字符或“.”、“-”、“ ”。
我缺少什么?
我尝试在非生产部署槽上的 Azure 应用服务上发布时出现以下错误:
2>开始 Web 部署将应用程序/包发布到https://appservicename-preprod.scm.azurewebsites.net/msdeploy.axd?site=appservicename__preprod ...
2> 添加路径 (appservicename-preprod) 的 ACL 2> 添加路径 (appservicename-preprod) 的 ACL
2>更新文件(appservicename-preprod\bin\Antlr3.Runtime.dll)。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.targets(4284,5):错误 ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER:Web 部署任务失败的。(无法对指定目录(“D:\home\site\wwwroot\bin\Antlr3.Runtime.dll”)执行操作(“创建文件”
)。如果服务器管理员未授权此操作,则可能会发生这种情况您正在使用的用户凭据。了解更多信息,请访问:http://go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER。了解更多信息,请访问:https: //go.microsoft.com/fwlink/ ?LinkId=221672 #ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER。)
2>发布部署失败。
我是托管应用服务的订阅的所有者。如果我尝试通过 FTP 访问,我会看到 wwwroot 为空,但从 Cloud Explorer 上的 VS 的 appservicename/Deployment Slots/appservicename-preprod/Files 下,我可以找到这些文件。如果我尝试在 KUDU Zip Push Deploy 上发布 zip 文件,它会在 50% 处返回错误:[object Object] - 调用 ZipDeploy 时出错。
有什么建议么?
我运行此命令来创建我的 Pod:
kubectl run my-ngnix --image nginx
Run Code Online (Sandbox Code Playgroud)
现在,我尝试使用以下命令删除 pod/部署:
kubectl delete deployment my-nginx
Run Code Online (Sandbox Code Playgroud)
问题是我的终端告诉我这是不可能的。因为找不到正确的信息。
Error from server (NotFound): deployments.apps "my-nginx" not found
Run Code Online (Sandbox Code Playgroud)
如果要求全部,这就是我所看到的:
kubectl get all
NAME READY STATUS RESTARTS AGE
pod/my-ngnix 1/1 Running 0 27m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 159m
root@aharo003:~# kubectl stop pods,services -l pod/m-ngnix
Run Code Online (Sandbox Code Playgroud)
有人知道我还应该做什么吗?
我是 terraform 新手,想要更改网络上的子网,但遇到了一个奇怪的错误。\ngoogle 什么也没得到。这是我要输入的内容(更改 main.tf 和运行计划后)
\nterraform apply -replace="azurerm_subnet.subnet1"\nTerraform will perform the following actions:\n\n # module.network.azurerm_subnet.subnet[0] will be updated in-place\n ~ resource "azurerm_subnet" "subnet" {\n ~ address_prefixes = [\n - "10.0.2.0/24",\n + "10.0.4.0/24",\n ]\n id = \n "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/lab- \n resources/providers/Microsoft.Network/virtualNetworks/acctvnet/subnets/subnet1"\n name = "subnet1"\n # (7 unchanged attributes hidden)\n }\n\n Plan: 0 to add, 1 to change, 0 to destroy.\n\n Do you want to perform these actions?\n Terraform will perform the actions described above.\n Only 'yes' will be accepted to …Run Code Online (Sandbox Code Playgroud) 我试图列出与工作项关联的所有拉取请求,但根据工作项 API,似乎没有办法获取它:
GET https://dev.azure.com/{org}/{project}/_apis/build/builds/123456/workitems?api-version=6.0
Run Code Online (Sandbox Code Playgroud)
上面返回工作项列表,例如:
{
"count": 40,
"value": [
{
"id": "156267",
"url": "https://dev.azure.com/xxx/_apis/wit/workItems/12345"
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我仍然决定查询每个返回的工作项,我仍然看不到拉取请求。例如:
GET https://dev.azure.com/xxx/_apis/wit/workItems/12345
Run Code Online (Sandbox Code Playgroud)
上面返回一个关于对工作项进行的更新的 JSON 对象,但这可以是提交、状态更新或注释。
有没有办法获取每个工作项目的 PR 列表?
谢谢
azure-api-management azure-api-apps azure-devops azure-devops-rest-api