我在Azure DevOps上创建发布管道,并尝试在play google中发布android应用程序。
现在我使用Google Play扩展,当我开始处理时,出现错误
2020-09-09T03:43:27.0917248Z ##[section]Запускается: Release app.apk
2020-09-09T03:43:27.8780592Z ==============================================================================
2020-09-09T03:43:27.8781175Z Task : Google Play - Release Bundle
2020-09-09T03:43:27.8781808Z Description : Release an app bundle to the Google Play Store
2020-09-09T03:43:27.8782024Z Version : 3.174.0
2020-09-09T03:43:27.8782441Z Author : Microsoft Corporation
2020-09-09T03:43:27.8782859Z Help :
2020-09-09T03:43:27.8783075Z ==============================================================================
2020-09-09T03:43:35.1490887Z Found main bundle to upload: .../app.apk (version code %s)
2020-09-09T03:43:35.1776730Z (node:7588) Warning: Use Cipheriv for counter mode of aes-256-ctr
2020-09-09T03:43:56.1999306Z ##[error]FetchError: request to https://www.googleapis.com/oauth2/v4/token failed, reason: connect ETIMEDOUT 108.177.14.95:443
2020-09-09T03:43:56.2066653Z ##[section]Завершается: Release app.apk
我的VSTS代理安装在代理服务器后面的windows服务器上。在代理服务器上有一个带有谷歌地址*.googleapis.com
的白名单
代理配置
.config.cmd --proxyurl http://... --proxyusername ... --proxypassword ... --url https://... --auth integrated --pool ... --agent vsts-agent-win-x64-2.169.1 --runAsService --windowsLogonAccount ... --windowsLogonPassword ...
管道的YAML配置发布步骤
steps:
- task: ms-vsclient.google-play.google-play-release-bundle.GooglePlayReleaseBundle@3
displayName: 'Release app.apk'
inputs:
authType: JsonFile
serviceAccountKey: '....json'
applicationId: ...
bundleFile: '$(System.DefaultWorkingDirectory)/.../app.apk'
track: alpha
changeLogFile: '$(System.DefaultWorkingDirectory)/.../app.apk'
我认为这个扩展不适用于代理。
如何修复此错误?
为了解决卸载问题,我们必须创建额外的环境变量
http_proxy=...
https_proxy=...
我的代理将证书替换为自己的证书,因此最初系统不信任我所在组织的CA,因此决定忽略证书的有效性。我又创建了一个环境变量
NODE_TLS_REJECT_UNAUTHORIZED=0
并对npm设置进行了调整
npm config set strict-ssl false
之后,可以连接到谷歌服务器并发布应用程序。