在某些固定服务器上限制npm发布

时间:2016-09-02 07:32:42

标签: node.js jenkins npm nexus credentials

在我的组织中,我正在设置与jenkins 2的持续集成,所有构建的工件都会转到私有nexus 3服务器(maven和npm模块)

我想限制在一组固定机器上发布到nexus:只有jenkins从属可以发布。规则是:所有项目必须处于持续集成状态才能发布。

我不希望开发人员能够从他们的工作站直接在私人关系中发布。

目前,我通过将npm发布令牌放在jenkins用户主目录中的.npmrc文件中来实现此目的。

它有效,但这个令牌很容易被创意用户窃取(在他们的jenkins构建中,使用简单的命令,例如&more; .npmrc')。有了这个标记,任何人都可以在nexus服务器上发布。显然我当前的配置并不好。

最佳做法是什么?我的目标是我的私人关系中的所有npm模块都是由jenkins构建的,而不是来自开发工作站。

谢谢大家

1 个答案:

答案 0 :(得分:0)

Jenkins确实提供了一种通过Credentials Plugin存储和检索凭据的机制。这会是一个选择吗?

例如,如果您处于自由样式构建中,则可以检查"使用秘密文本或文件"在"建立环境"使用秘密文本/密码。

如果你在Jenkins文件中,你可以使用" withCredentials"条款提供相同的信息。