多仓库代码部署这个问题其实在13年做配置管理的时候,就遇到过这样的问题,而最近公司可视化图项目也需要多个仓库代码需要同时下载进行编译,由于仓库之间的代码编译有依赖关系,所以必须同时下载下来按照顺序进行编译,这时候同事他们写个父工程来定义了编译,所以这个时候需要下载visualization-rest ,visualization-admin,visualization-core , visualization-parent 。

  1.安装Multiple SCMs Plugin插件,Jenkins 强大之处就是提供了许多万能的插件,只要你需求他就会有对应的插件帮助你解决问题;

  2.插件安装成功后,选择Jenkins 任务在【源码管理】中会出现一项【Multiple SCMs】配置项目;

  3.这时候可以根据自己需求选择代码管理的工具,注意这里所选择的代码管理工具是我们自己提前安装的代码管理插件,只有安装成功才会在【Add SCM】显示;

  4.根据自己情况配置拉去代码,这个时候配置就于配置一个仓库时方法一致,只是由一个变成多个,这也是Multiple SCMs插件重要之处(这里以git为例);

  5.此时我们配置完成多个仓库时,直接来构建任务,会出现第一个配置获取的代码被第二个配置的覆盖,最后只能保留下来最后一次拉去的代码,这样不是我们想要的效果,由于拉取代码会直接将代码放入任务工程目录,也就是以你创建任务的名字目录,所以下一个任务会对上一个覆盖,这个时候我们需要将每个仓库拉下代码放入独立的目录中,目录命名最好根据仓库命名一致;

  6. 此时我们需要添加一个【Additional Behaviours】->【Check out to a sub-directory】,来辅助我们将代码放入子目录

  

  7.这样再次获取代码就解决了冲突的问题,最后大家都会放在不同的目录,此时我们只需要编译父工程,这样所有的代码都构建成功了;

Jenkins进阶-Git多仓库代码下载编译 (13)的更多相关文章

  1. Android 程序分析环境搭建-Android 9 -代码下载编译

    Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...

  2. PDFium-PDF开源之旅(1)-初探代码下载编译

    近日,Google和Foxit合作开源了Foxit的PDF源代码. 叫PDFium 相关新闻不少.哈,虽说已经不是程序猿了.只是还是有兴趣跑起来围观看看.废话少说.先说编译代码的步骤(事实上Googl ...

  3. Android webRTC 代码下载编译

    1.安装depot tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 然后把把depot ...

  4. 用控制台命令拉取git最新仓库代码

    C#利用Diagnostics  拉取最新代码  示例代码 static void DiagnosticTest() { Process p; ProcessStartInfo psi; psi = ...

  5. Jenkins进阶-获取git tags代码(2)

    配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...

  6. 创建git项目的feature分支以及下载特定分支的仓库代码

    在掌握了基础git的使用后可以按照这个步骤来: 下载项目:git clone <仓库地址>如果要下载非master的某分支代码:git clone -b <分支名> <仓 ...

  7. 使用git指令下载github仓库代码(笔记)

    通过Git指令下载源码 Git概念说明 ​ 三种状态:修改状态.暂存状态和Git仓库 ​ 基本的Git工作流程: ​ 在工作目录中修改文件 ​ 暂存文件,将文件的快照放入暂存区域 ​ 提交更新,找到暂 ...

  8. jenkins实现以gitlab为代码仓库的构建

    简介 前一篇随笔是安装jenkins的过程,比较简单,这一次说一下用jenkins配置以gitlab为代码管理仓库的maven项目的完整个构建过程,以及我碰到的一些问题.由于是maven项目,所以我们 ...

  9. 【我的Android进阶之旅】Jenkins挂载slave节点,增强分布式编译的效率

    由于公司的Jenkins任务越来越多,而且所有的Android Jenkins任务都在同一台服务器上进行编译,而且该服务器配置Jenkins任务最多3个任务同时运行,所以有时候大家一起编译的时候,只能 ...

随机推荐

  1. Fedora 10编程开发工具

    1请问Fedora 10编程开发工具有什么 编辑器就用vim,编译用gcc,当然个人爱好随意 IDE的话推荐eclipse,如果做C/C++的,用codeblocks也是个不错的选择 输入gcc -v ...

  2. jQuery中extend()实现原理

    jQuery.extend使用的几种方式 1.jQuery.extend(源对象) jQuery源代码: if(length == i){ target = this; --i; } 示例1: var ...

  3. angular 学习日志

    1.创建项目 npm install -g @angular/cli ng new my-app cd my-app ng serve --open // 或者 npm start 2.生成新模块 n ...

  4. react state为数组时插入值

    react state为数组时,如何插入值.在react里,一切皆是状态state,如果想通过改变state修改渲染效果,只能yongsetState.但是setState又是key:value格式, ...

  5. JAVA修饰符、关键字和继承(一)

    一.静态修饰符----static static可以修饰内部类.块.属性.方法,经static修饰过的元素储存地址唯一,不会改变 public class Test{ static int a=1; ...

  6. php字符编码转换之gb2312转为utf8(转)

    在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦.string iconv ...

  7. 创建文件夹c++

    linux #include <sys/types.h> #include <sys/stat.h> string filepath; mkdir(filepath.c_str ...

  8. [LeetCode&Python] Problem 705. Design HashSet

    Design a HashSet without using any built-in hash table libraries. To be specific, your design should ...

  9. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

  10. 内存池技术(UVa 122 Tree on the level)

    内存池技术就是创建一个内存池,内存池中保存着可以使用的内存,可以使用数组的形式实现,然后创建一个空闲列表,开始时将内存池中所有内存放入空闲列表中,表示空闲列表中所有内存都可以使用,当不需要某一内存时, ...