Teamcity 代理无法使用 powershell 上传到人工制品
Teamcity agent can't upload to artifactory using powershell
我正在尝试使用 powershell 和 nant 从 teamcity 上传到 artifactory。我尝试了两种方法,使用 Invoke-WebRequest
以及更新 WebClient
。 Webclient.UploadFile 像这样失败:
Exception calling "UploadFile" with "3" argument(s): "An exception
occurred during a WebClient request."
虽然 Invoke-WebRequest
像这样失败:
Invoke-WebRequest : The underlying connection was closed: An
unexpected error occurred on a send.
如果我 运行 从那台机器上手动操作它们中的任何一个,它就可以工作。如果像这样以 teamcity 代理服务用户身份启动 powershell
Start powershell -Credential (Get-Credential)
然后 运行 手动输入代码,就可以了。只有当 teamcity 实际尝试进行部署时,它才会每次都失败。我应用了
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
修复,我应用了
[System.Net.ServicePointManager]::CertificatePolicy = {$true}
修复,当我手动 运行 它时它总是工作,但当它 运行 通过 teamcity 时它永远不会工作。怎么回事?
我最终使用了另一个项目中更大的脚本,该脚本使用 WebClient
来尝试 'checksum deploy' 以查看工件是否已更改,然后再尝试使用此 [=11] 中的代码进行实际部署=].
我正在尝试使用 powershell 和 nant 从 teamcity 上传到 artifactory。我尝试了两种方法,使用 Invoke-WebRequest
以及更新 WebClient
。 Webclient.UploadFile 像这样失败:
Exception calling "UploadFile" with "3" argument(s): "An exception occurred during a WebClient request."
虽然 Invoke-WebRequest
像这样失败:
Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a send.
如果我 运行 从那台机器上手动操作它们中的任何一个,它就可以工作。如果像这样以 teamcity 代理服务用户身份启动 powershell
Start powershell -Credential (Get-Credential)
然后 运行 手动输入代码,就可以了。只有当 teamcity 实际尝试进行部署时,它才会每次都失败。我应用了
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
修复,我应用了
[System.Net.ServicePointManager]::CertificatePolicy = {$true}
修复,当我手动 运行 它时它总是工作,但当它 运行 通过 teamcity 时它永远不会工作。怎么回事?
我最终使用了另一个项目中更大的脚本,该脚本使用 WebClient
来尝试 'checksum deploy' 以查看工件是否已更改,然后再尝试使用此 [=11] 中的代码进行实际部署=].