二、配置多个git仓库和账户
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二、配置多个git仓库和账户相关的知识,希望对你有一定的参考价值。
参考技术A自己在github建了个仓库,然后配置访问不了,上网查了下怎么用不同账号在本地配置多个git仓库。
config配置有3个层级 :
一般都会配置用户级别
a、单个配置
b、多个配置
账户1生成
账户2
注意: 这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。
c、删除某个配置
我个人配置了github和gitee以及公司的git
1、生成gitte仓库的SSH
第一个输入文件名称,剩下两项不需要输入
2、生成github仓库的SSH
在生成密钥的.ssh 目录下,新建一个config文件,然后配置不同的仓库,如下:
如果还有其它仓库,按照这个去配置就可以
使用ssh的ssh-add命令将密钥添加到 ssh-agent 的高速缓存中,方便使用。
查看项目目录下的.git/config文件,可以找到当前项目的git配置,如下配置:
如果你在上面手欠设置了别名的话,就把对应的hostname用别名替代就可以了。
Jenkins一个任务中处理多个git仓库的解决
最近在公司运维同学的推动下,前后端部署使用docker镜像方式实施。前端在实施的时候遇到了问题:如何在一次jenkin任务构建使用两个gitlab仓库的东西(我们前端的代码和配置存在于两个不同的gitlab仓库),我们需要在构建docker镜像的时候,将构建代码和配置全部放到镜像中去,镜像启动的的时候再去根据不同的环境使用不同的配置(创建一个构建代码中默认配置<dist文件中的dynamic.js>的软链指向具体环境配置文件<config文件夹中的test.js , 比方说是测试环境>),然后在启动镜像中的nginx。所以我们需要在jenkins构建任务中执行一个脚本:将配置和前端构建文件全部复制到镜像中去。
jenkins有一个插件,叫 Multiple SCMs plugin,插件介绍:This plugin enables the selection of multiple source code management systems for a build. For example, it enables checking out the source code from one SCM while checking out legacy or third-party code from another.也就是说:这款插件支持多个版本控制管理源,你可以在一次构建中选择多个仓库进行构建(同时支持git和svn)。确保jenkins安装该插件后,参考如下:
1、在源码管理中选择 Multiple SCMs
2、选择你的代码仓库类型,进行添加,比如git
3、填写第2步添加的仓库属性
注意第3步中的红色框:图中的code和config是2个文件夹,对应你的源代码仓库的个数,拿我们当前的情况来说,在当前jenkins任务的工作区间下,分别建立code和config文件夹,将第一个仓库(前端代码)拉取至code目录下,将第二个仓库(前端所有配置)拉取至config目录下。如果没有添加文件夹进行区分,会出现前一个仓库将后一个仓库覆盖的问题(如果两个仓库的软件是一样的,比如都是git或者都是svn),造成我们构建的时候找不到文件。
构建当前任务后,在当前任务的工作区间查看2个仓库的内容是否拉取成功:
[szhq@dev01 workspace]$ ls -l total 464 drwxrwxr-x 8 szhq szhq 4096 Apr 2 11:05 code drwxrwxr-x 2 szhq szhq 4096 Apr 2 11:05 code@tmp drwxrwxr-x 4 szhq szhq 4096 Apr 2 11:05 config drwxrwxr-x 2 szhq szhq 4096 Apr 2 11:05 config@tmp
查看code目录:
[szhq@dev01 workspace]$ cd code && ls -l total 444 drwxrwxr-x 2 szhq szhq 4096 Apr 2 11:05 build drwxrwxr-x 2 szhq szhq 4096 Apr 2 11:05 config -rw-rw-r-- 1 szhq szhq 2326 Apr 2 11:05 index.dev.html -rw-rw-r-- 1 szhq szhq 2329 Apr 2 11:05 index.prod.html -rw-rw-r-- 1 szhq szhq 3213 Apr 2 11:05 package.json -rw-rw-r-- 1 szhq szhq 1120 Apr 2 11:05 README.md drwxrwxr-x 11 szhq szhq 4096 Apr 2 11:05 src drwxrwxr-x 5 szhq szhq 4096 Apr 2 11:05 static drwxrwxr-x 4 szhq szhq 4096 Apr 2 11:05 test -rw-rw-r-- 1 szhq szhq 414823 Apr 2 11:05 yarn.lock
查看config目录:
[szhq@dev01 workspace]$ cd config && ls -l total 8 -rw-rw-r-- 1 szhq szhq 670 Apr 2 11:05 README.md drwxrwxr-x 2 szhq szhq 4096 Apr 2 11:05 src
至此,一个jenkins任务中支持多个库的问题就完美解决了。。。写在最后,脑洞大开一下:针对后端微服务,这个插件是支持同时构建多个微服务模块的
以上是关于二、配置多个git仓库和账户的主要内容,如果未能解决你的问题,请参考以下文章