持续集成-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使用它加在自 ...
随机推荐
- Python-定时爬取指定城市天气(二)-邮件提醒
目录 一.概述 二.模块重新划分 三.优化定时任务 四.发送邮件 五.源代码 一.概述 上一篇文章python-定时爬取指定城市天气(一)-发送给关心的微信好友中我们讲述了怎么定时爬取城市天气,并发送 ...
- 论JVM爆炸的几种姿势及自救方法
前言 如今不管是在面试还是在我们的工作中,OOM总是不断的出现在我们的视野中,所以我们有必要去了解一下导致OOM的原因以及一些基本的调整方法,大家可以通过下面的事例来了解一下什么样的代码会导致OOM, ...
- 大数据与 AI 生态中的开源技术总结
本文由云+社区发表 作者:堵俊平 在数据爆炸与智能革命的新时代,新的平台与应用层出不穷,开源项目推动了前沿技术和业界生态快速发展.本次分享将以技术和生态两大视角来看大数据和人工智能技术的发展,通过分析 ...
- java基础(八)-----深入解析java四种访问权限
Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类 ...
- 简述Java中的final关键字
final关键字可用于修饰类.方法和变量,final修饰的类不能被继承:final修饰的方法不可被重写:final修饰的变量不可被改变. 1. final类 final修饰的类不能被继承意思是fina ...
- Odoo Tech World 2018(上海)互联网开源技术大会通告
会议概述 点击进入活动报名通道 高成本的软件开发,耗时的系统安装,繁琐的操作培训… 这一系列问题都是企业数字化管理的痛点, "软件"成为发展数企业数字化转型的瓶颈, 无论是小厂家或 ...
- 基于geoserver的REST服务完成mysql数据源动态发布
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在之前的<简析GeoServer服务的内部文件组织以及 ...
- Git使用详细教程(8):Git分支
目录 创建分支 查看分支 切换分支 删除分支 分支合并 探寻分支本质 创建分支 当我们使用git init projectName命令的时候,Git就会默认帮我们创建一个分支,名字叫做master. ...
- SpringBoot2.0之五 优雅整合SpringBoot2.0+MyBatis+druid+PageHelper
上篇文章我们介绍了SpringBoot和MyBatis的整合,可以说非常简单快捷的就搭建了一个web项目,但是在一个真正的企业级项目中,可能我们还需要更多的更加完善的框架才能开始真正的开发,比如连接池 ...
- 开源干货!!!.NET Core + JWT令牌认证 + Vue.js(iview-admin) 通用动态权限(RBAC)管理系统框架[DncZeus]开源啦!!!
DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...