持续集成(CI)相关的一些工具,后续补充。。。。
持续集成的目标:使项目开发更加便捷
1.make工具
最原始的工具,负责组织构建的过程,即指挥编译器如何编译,连接器如何链接,最后生成一个可用文件。
2.Ant工具
Ant是一个构建工具,它只有一个配置文件build.xml,我们要做的事情就是在build.xml中去定义我们想要做的事情。是make的升级版
3.Maven工具
在make工具中,如果我们要编译某些源文件,我们肯定首先要安装编译器等工具。但是有时候需要不同版本的编译器,在java的编译器需要不同的各种包的支持,如果把每个包都下载下来,在makefile中进行配置制定,当需要的包非常多时,很难管理。
于是人们发明了Maven工具。Maven使用配置文件pom.xml对环境进行配置,例如设定编译器的版本,设定所需支持包的URL,这样maven就可以自动去下载所需的包。这样如果需要对构建环境进行改变时,直接改变pom文件就可以了,maven会自动网络上下载配置的包。
4.Jenkins工具
Maven可以控制编译,控制连接,可以生成各种报告,可以进行代码测试。但是对流程的控制很不方便。Jenkins是一个自动化图形界面实现流程控制的工具。
Jenkins系列教程:http://blog.csdn.net/wangmuming/article/details/22924815

持续集成(CI)相关的一些工具,后续补充。。。。的更多相关文章
- 持续集成CI相关的几个概念
持续集成 https://en.wikipedia.org/wiki/Continuous_integration 为什么要持续? 持续集成, 可以避免集成地狱(由于工作的源码 和 库中的源码的差异导 ...
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- Gitlab+Gitlab-CI+Docker实现持续集成(CI)与持续部署(CD)
写在前面 记录一下,一个自动化开发部署项目的构建过程与简单使用,实现真正的DevOps gitlab安装 步骤一:安装依赖 yum -y install git gcc glibc-static te ...
- 【OF框架】在Azure DevOps中配置项目持续集成CI服务,推送镜像到Azure容器注册表
准备工作 开通Azure账号,具有开通服务权限,关键是里面要有钱. 开通Azure DevOps,能够创建组织和项目. 具备一定的DevOps知识,了解CICD概念.Docker基本操作. 一.创建& ...
- 持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释
本文同意转载.但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权全部 文章概述: 一. 描写叙述了持续集成工具Hudson的安装 ...
- 持续集成CI
一.CI 和 CD 持续集成是什么? 持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干.让产品可以快速迭代,同时还能保持高质量. 持续交付( ...
- 基于Jenkins的持续集成CI
CI(continuous integration)持续集成 一次构建:可能包含编译,测试,审查和部署,以及其他一些事情,一次构建就是将源代码放在一起,并验证软件是否可以作为一个一致的单元运行的过程. ...
- 【docker】docker持续集成CI/持续部署CD
持续集成(CI) 持续集成(Continuous integration)是一种流行的软件开发实践.集成是指开发将自己本地的代码提交到git等远端仓库上,那么持续集成就是每天多次提交,提早提交代码. ...
- GitLab、Jenkins结合构建持续集成(CI)环境
1 持续集成 概述及运行流程 1.1 持续集成概述 持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并迚程自 ...
- 持续集成CI与自动化测试
-------------------------------------------------------------------------------------------------- ...
随机推荐
- 序列化--dict与(file)文件读写
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bill',但 ...
- sql拼接一列数据
执行SELECT userid FROM userinfo得到1234如果要得到1,2,3,4执行方案1DECLARE @STR VARCHAR(8000)SELECT @STR=ISNULL(@ST ...
- Reverse链表 递归实现
#include<iostream> struct node{ int payload; node* next; }; void bianli(node* head){ node* ite ...
- Mina传输大数组,多路解码,粘包问题的处理
我的实际情况: 1,传递的业务数据种类很多,这就决定了我们要用多路解码器,MINA的中文手册提供的是DemuxingProtocolCodecFactory; 2,,有的数据长度达到8K,网上有资料说 ...
- UISegmentedControl 控件
一.创建 UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil]; 是不是很奇怪没 ...
- c# long转 datetime
; DateTime start = , , , , , , DateTimeKind.Utc); DateTime date = start.AddMilliseconds(time).ToLoca ...
- [转]学术型 github 畅想
转自 http://wulfric.me/2013/09/github-and-academy/ 以 github 的精神提供学术服务,也许是一个不错的方向. 什么是 github? Github 是 ...
- ubuntu安装jdk
首先,从http://java.sun.com或者http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archiv ...
- c# datagridview 中DataSource的使用总结
由于当前项目的窗体更新使用的是订阅事件的方式.其中有个datagridview 动态显示统计数据的列表框.本来想用textbox显示,但不规则,看起来也不美观,改由dgv显示. 我没打算用改dgv表的 ...
- Jmeter学习
网址: http://www.ltesting.net/ceshi/open/kyxncsgj/jmeter/ http://www.cnblogs.com/TankXiao/p/4059378.ht ...