在使用Jenkins时,如何使用package.json从某个分支提取私有git存储库?
我们有一个主项目,它加载子项目,然后用npm将它们绑定到一个文件中。以下是package.json:在使用Jenkins时,如何使用package.json从某个分支提取私有git存储库?,git,jenkins,npm,Git,Jenkins,Npm,我们有一个主项目,它加载子项目,然后用npm将它们绑定到一个文件中。以下是package.json: { "name": "my-project", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "angular": "^1.5.7" }, "devDependencies": { "project-a": "git+ssh://git@bitb
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"angular": "^1.5.7"
},
"devDependencies": {
"project-a": "git+ssh://git@bitbucket.org/project-a.git",
"project-b": "git+ssh://git@bitbucket.org/project-b.git"
},
"author": "",
"license": "ISC"
}
我们希望在多个服务器上构建项目,例如master和develop,这些是分支机构的名称。现在,如果我们构建开发分支,npm应该从git中提取+ssh://git@org/project-a.git#开发
和git+ssh://git@org/project-b.git#develope
。但是我找不到一个方法告诉npm去拉那些树枝而不是主人
感谢您的任何帮助。首先,npm将根据您的指示执行任何分支。格式如下:
"devDependencies": {
"project-a": "git+ssh://git@bitbucket.org/project-a.git#branchName"
}
如果没有定义分支,它将默认为master
因此,这提供了一个起点,您需要在运行时通过将分支名称附加到url来修改依赖关系。在运行npm安装之前,您可以通过一个工具来处理package.json,该工具可以将关键字(例如#branchName)更改为您想要的内容。使用sed等工具非常容易归档
然而,这将使您的git回购“脏”(如未修改的更改)。另一种方法是编写一个cli工具,该工具将读取您的package.json,提取依赖项,并通过调用npm install$reporul并用所需的分支修复url repo来手动安装它们。。也许这个回购协议提供了一个工具,如果你自己没有能力写一个,你可以使用它:首先,npm会拉你让它拉的任何分支。格式如下:
"devDependencies": {
"project-a": "git+ssh://git@bitbucket.org/project-a.git#branchName"
}
如果没有定义分支,它将默认为master
因此,这提供了一个起点,您需要在运行时通过将分支名称附加到url来修改依赖关系。在运行npm安装之前,您可以通过一个工具来处理package.json,该工具可以将关键字(例如#branchName)更改为您想要的内容。使用sed等工具非常容易归档
然而,这将使您的git回购“脏”(如未修改的更改)。另一种方法是编写一个cli工具,该工具将读取您的package.json,提取依赖项,并通过调用npm install$reporul并用所需的分支修复url repo来手动安装它们。。也许这份回购协议提供了一个工具,如果你自己没有能力写一份,你可以使用它:非常感谢你的回答,我想我现在知道该做什么了。非常感谢你的回答,我想我现在知道该做什么了。