我有一些Circle工作流程,这些工作流程会自动发布npm程序包。有什么方法可以将两要素身份验证集成到该流程中?
我想象所有的测试/构建步骤都将运行,然后在实际发布之前等待,然后等待一次输入的代码。这可能吗?
答案 0 :(得分:0)
我刚刚对如何在npmjs上使用2FA进行发布进行了测试,正确发布的步骤如下:
我不知道这是否是最好的过程,但是对我来说,最近的令牌无效对我有用。
编辑:我在这里给出示例存储库,但是软件包尚未从npmjs中发布,不会引起噪音:https://github.com/sergiohgz/test-publish-2fa-circleci
答案 1 :(得分:0)
如果您想使用更多服务,则有可能。使用自托管的Hashicorp Vault,可以在为auth-and-writes
启用2FA时启用TOTP并存储npm CLI给出的密钥。
收到此消息后,您可以调用Vault服务器,以提供发布所需的OTP并通过npm publish
选项将其提供给--otp
命令。
有关更多详细信息,您可以阅读这篇文章How to deploy npm package with 2FA enabled on write。本文提供了Travis的示例,但它应适用于CircleCI,而无需进行任何重大更改。最大的区别应该在于如何在配置中加密您的机密(npm令牌,保险柜令牌等)。