使用 Artifactory 代理 Cypress CYPRESS_DOWNLOAD_MIRROR
Using Artifactory to proxy Cypress with CYPRESS_DOWNLOAD_MIRROR
期望的行为
我想使用 CYPRESS_DOWNLOAD_MIRROR 指向我的赛普拉斯人工配置,并且能够执行 npm 安装和下载赛普拉斯的库和二进制文件
当前行为
当在 artifactory 中设置 Cypress 并使用 CYPRESS_DOWNLOAD_MIRROR 设置下载它时,下载脚本将二进制文件查找为 X.Y.Z 而不是 cypress.zip 并失败。显然我不能在 artifactory 中重命名二进制文件。它似乎以 X.Y.Z 而不是 cypress.zip
的名称提供
我的 artifactory 管理员之前告诉我执行此命令,但我不能,因为它是 Cypress 的 post 操作
curl –v « https://artifactory.mycompany.fr/artifactory/remote-download.cypress-generic/desktop/6.8.0?platform=win32&arch=x64 » > cypress.zip
解决方法
目前,我正在使用 CYPRESS_INSTALL_BINARY 指向人工制品中手动上传的二进制文件,但这很痛苦,因为我必须将 Linux 二进制文件(对于 CI)和Windows binary (for dev) 如果我的包配置了 "cypress": "^6.2.1" npm 库将转到 6.2.1 而我的二进制文件将固定为 6.2.0 例如...
调试日志
正在安装 Cypress(版本:6.8.0)
× 下载赛普拉斯
→ 赛普拉斯版本:6.8.0
解压缩赛普拉斯
完成安装
无法下载 Cypress App。
您的工作场所是否需要使用代理来访问 Internet?如果是,下载前必须配置HTTP_PROXY环境变量
柏。阅读更多:https://on.cypress.io/proxy-configuration
否则,请检查网络连接并重试:
URL: https://artifactory.mycompany.fr/artifactory/remote-download.cypress.io/desktop/6.8.0?platform=win32&arch=x64
错误:证书链中的自签名证书
下载方式
npm
操作系统
Linux
Windows
其他
I'm behind a proxy
我真的不知道这是人工制品还是赛普拉斯的问题,但我需要帮助^^
我能够使用以下方法使其在 Windows 上运行:
我创建了一个通用远程代表ository,确保它指向 https://download.cypress.io,并在高级选项卡下添加了查询参数:platform=win32&arch=x64(注意有一个专门的领域)。
为了缓存基于 OS 和 arch 的正确二进制文件,以上内容是必需的(您可能需要具有不同查询参数的不同远程代表os)。
我在 Cypress 文档上发现这些查询参数控制将要下载的二进制类型(因此我们需要确保它适合客户端 os 和 arch)。
在 .npmrc 中,我只提供了以下内容:
CYPRESS_DOWNLOAD_MIRROR=https://user:myverystrongpassword@myartifactory/artifactory/generic-cypress-windows
除了已接受的答案外,还可以将预定义的 'Query Params' 替换为启用 'Propagate Query Params'。如果设置,随请求传递给 Artifactory 的查询参数将传递给远程仓库。
请注意,根据 JFrog docs,此设置仅适用于通用类型存储库。
期望的行为
我想使用 CYPRESS_DOWNLOAD_MIRROR 指向我的赛普拉斯人工配置,并且能够执行 npm 安装和下载赛普拉斯的库和二进制文件
当前行为
当在 artifactory 中设置 Cypress 并使用 CYPRESS_DOWNLOAD_MIRROR 设置下载它时,下载脚本将二进制文件查找为 X.Y.Z 而不是 cypress.zip 并失败。显然我不能在 artifactory 中重命名二进制文件。它似乎以 X.Y.Z 而不是 cypress.zip
的名称提供我的 artifactory 管理员之前告诉我执行此命令,但我不能,因为它是 Cypress 的 post 操作 curl –v « https://artifactory.mycompany.fr/artifactory/remote-download.cypress-generic/desktop/6.8.0?platform=win32&arch=x64 » > cypress.zip
解决方法
目前,我正在使用 CYPRESS_INSTALL_BINARY 指向人工制品中手动上传的二进制文件,但这很痛苦,因为我必须将 Linux 二进制文件(对于 CI)和Windows binary (for dev) 如果我的包配置了 "cypress": "^6.2.1" npm 库将转到 6.2.1 而我的二进制文件将固定为 6.2.0 例如...
调试日志
正在安装 Cypress(版本:6.8.0)
× 下载赛普拉斯 → 赛普拉斯版本:6.8.0 解压缩赛普拉斯 完成安装 无法下载 Cypress App。
您的工作场所是否需要使用代理来访问 Internet?如果是,下载前必须配置HTTP_PROXY环境变量 柏。阅读更多:https://on.cypress.io/proxy-configuration
否则,请检查网络连接并重试:
URL: https://artifactory.mycompany.fr/artifactory/remote-download.cypress.io/desktop/6.8.0?platform=win32&arch=x64 错误:证书链中的自签名证书 下载方式
npm
操作系统
Linux
Windows
其他
I'm behind a proxy
我真的不知道这是人工制品还是赛普拉斯的问题,但我需要帮助^^
我能够使用以下方法使其在 Windows 上运行:
我创建了一个通用远程代表ository,确保它指向 https://download.cypress.io,并在高级选项卡下添加了查询参数:platform=win32&arch=x64(注意有一个专门的领域)。
为了缓存基于 OS 和 arch 的正确二进制文件,以上内容是必需的(您可能需要具有不同查询参数的不同远程代表os)。 我在 Cypress 文档上发现这些查询参数控制将要下载的二进制类型(因此我们需要确保它适合客户端 os 和 arch)。
在 .npmrc 中,我只提供了以下内容: CYPRESS_DOWNLOAD_MIRROR=https://user:myverystrongpassword@myartifactory/artifactory/generic-cypress-windows
除了已接受的答案外,还可以将预定义的 'Query Params' 替换为启用 'Propagate Query Params'。如果设置,随请求传递给 Artifactory 的查询参数将传递给远程仓库。
请注意,根据 JFrog docs,此设置仅适用于通用类型存储库。