持续集成-jenkins介绍与环境搭建
什么是持续集成?
转自:https://blog.csdn.net/tanshizhen119/article/details/80328523
持续集成,俗称CI, 大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
按照我的理解持续集成就是,一个通过一些手段或者是工具,在整个系统开发过程中,对于某一个时段(尽可能的短)完成部分功能向整个系统集成,通过编译,单元测试,自动化脚本等方式来验证整个功能是否存在问题,从而及时的发现问题并解决问题。在持续集成过程中,还有一个最重要的概念是自动化,编译,代码扫描,测试(单元,性能等测试),包括部署到测试环境等,这些步骤尽可能的自动化。
jenkins就是一个很好的持续集成工具,它有一千多个插件,各式各样的插件多得不行,支持的语言工具也很多。而且ci在整个devops工具链中处于中心位置,负责连接各种工具。
Jenkins环境搭建
jenkins部署的方式很多,可以用tomcat, 或者运行单独的war包,按照我的习惯,我比较喜欢用docker来部署。
拉取docker镜像:docker pull jenkins
运行jenkins docker镜像:
mkdir /data/jenkins_datadocker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins_data:/var/jenkins_home jenkins
就这么简单,docker就启动好了 访问:http://IP:8080
第一次登陆要输入初始密码,初始密码在 /var/jenkins_home/secrets/initialAdminPassword(这个是docker地址)
这个地址是docker里的地址,我们可以进docker里面去找:
docker exec -it myjenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
ctrl +p ,q 退出docker
另外一种方法:
由于我们启动时是否做了目录挂载:-v /data/jenkins_data:/var/jenkins_home
所以不用进docker里,直接执行 cat /data/jenkins_data/secrets/initialAdminPassword
将输入初始管理密码后,就可以进jenkins了,然后一路按照默认下载插件,然后创建一个管理员就好。
这样就已经安装好了。
jenkins功能
jenkins是一个相当出色的平台简约却不简单,整个平台提供一个最最核心的功能,但是它的插件竟然有一千多种。git, maven, ant,gerrit, gitlab, svn各种各样。只可惜免费但是不开源。
jenkins功能是相当的丰富的,但是从最最简单的来讲,它最核心的就是类似于一个作业平台。用户可以再上面创建job, 然后手动或者自动执行。它有着丰富的插件,可以让你方面的调用或者是关联各个系统或工具,来满足各式各样的要求。
我觉得jenkins2.0是引入了pipeline
什么是pipeline
什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。
如下图就是pipeline执行的结果。这里先抛砖引玉,然后再详细介绍一下jenkins pipeline
持续集成-jenkins介绍与环境搭建的更多相关文章
- 持续集成(二)环境搭建篇—内网邮件server搭建
在我们的持续构建中,项目构建中出现错误提醒.或者开发者之间的沟通交流,进度汇报的事务,都是离不开一个通信工具.那就是邮件.在我们的项目开发中假设使用第三方的邮件平台,这肯定不是最好的选择.由于第三方的 ...
- 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- 自动化持续集成Jenkins
自动化持续集成Jenkins 使用Jenkins配置自动化构建http://blog.csdn.net/littlechang/article/details/8642149 Jenkins入门总结h ...
- 持续集成~Jenkins构建GitHub项目的实现
有了前两讲的基础,这回我们就可以把github上的项目做到CI(jenkins)里了,让它自动去集成部署,持续集成~Jenkins里的NuGet和MSBuild插件,持续集成~Jenkins里的pow ...
- Django 01 django基本介绍及环境搭建
Django 01 django基本介绍及环境搭建 #http服务器 #用来接收用户请求,并将请求转发给web应用框架进行处理 #Web应用框架 #处理完请求后在发送给http服务器,http服务器在 ...
- [springboot 开发单体web shop] 1. 前言介绍和环境搭建
前言介绍和环境搭建 简述 springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢? 在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小 ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- Maven介绍及环境搭建
Maven介绍及环境搭建 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 下载Maven boot:类加载器框架,Maven使用它加在自 ...
随机推荐
- 【SQL】面面俱到 | 在SQL中使用CUBE和ROLLUP实现数据多维汇总
偶然在网上看到一篇文章,讲到数据汇总,提到了CUBE,感觉有些晦涩,想试着自己表述一下.同时,个人也认为CUBE还是很有用的,对SQL或数据分析感兴趣的小伙伴不妨了解一下,或许有用呢! 先设定个需求, ...
- jdk源码阅读笔记-LinkedList
一.LinkedList概述 LinkedList的底层数据结构为双向链表结构,与ArrayList相同的是LinkedList也可以存储相同或null的元素.相对于ArrayList来说,Linke ...
- 多线程学习系列二(使用System.Threading)
一.什么是System.Threading.Thread?如何使用System.Threading.Thread进行异步操作 System.Threading.Thread:操作系统实现线程并提供各种 ...
- Lumen框架—升级改造之路-仓储层
仓储层与逻辑层搭建 Lumen官方文档:https://lumen.laravel.com/docs/5.5 我的项目地址:https://github.com/BusinessL/big-lume ...
- 浅谈java线程池实现
再进入主题之前,我们先了解几个概念,对读源码有所帮助,对于线程池的运行状态,有4个级别,分别是RUNNING,SHUTING,STOP,TIDING,TERMINATED 解释如下: The runS ...
- Eureka服务配置与进阶
1. Eureka服务配置与进阶 1.1. 主要配置 1.1.1. 服务端(eureka.server.*) enableSelfPreservation默认true,启用注册中心的自保护机制,Eur ...
- 我们是如何通过全球第一免费开源ERP Odoo做到项目100%交付
传统友商ERP的交付过程 一.先初步需求调研,后选型功能模块 传统友商ERP第一件事情先对客户方进行初步的调研,客户方无论说什么,友商听过算过,只关心你人数多少,有哪些人涉及到哪些模块,接着对模块进行 ...
- svn统计代码行数(增量)
转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10770296.html android代码,两个版本之间,代码行数增加了多少,怎么得出呢? 1.安装To ...
- Github排序(转载)
目录 1. 冒泡排序 2. 选择排序 3. 插入排序 4. 希尔排序 5. 归并排序 6. 快速排序 7. 堆排序 8. 计数排序 9. 桶排序 10. 基数排序 参考:https://mp.weix ...
- 《SQL CookBook 》笔记-准备工作
目录 准备 1.建立员工表--EMP 2.建立部门表--DEPT 3.EMP表和DEPT表插入数据 4.建立透视表T1,并插入数据 5.建立透视表T10,并插入数据 第二章 shanzm 准备 1.建 ...