持续集成-jenkins介绍与环境搭建

什么是持续集成?

  转自:https://blog.csdn.net/tanshizhen119/article/details/80328523

  持续集成,俗称CI, 大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

按照我的理解持续集成就是,一个通过一些手段或者是工具,在整个系统开发过程中,对于某一个时段(尽可能的短)完成部分功能向整个系统集成,通过编译,单元测试,自动化脚本等方式来验证整个功能是否存在问题,从而及时的发现问题并解决问题。在持续集成过程中,还有一个最重要的概念是自动化,编译,代码扫描,测试(单元,性能等测试),包括部署到测试环境等,这些步骤尽可能的自动化。

jenkins就是一个很好的持续集成工具,它有一千多个插件,各式各样的插件多得不行,支持的语言工具也很多。而且ci在整个devops工具链中处于中心位置,负责连接各种工具。

Jenkins环境搭建

jenkins部署的方式很多,可以用tomcat, 或者运行单独的war包,按照我的习惯,我比较喜欢用docker来部署。

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

原文地址:https://www.cnblogs.com/luohanguo/p/9685863.html

时间: 2024-10-12 19:22:55

持续集成-jenkins介绍与环境搭建的相关文章

持续集成(二)环境搭建篇—内网邮件server搭建

在我们的持续构建中,项目构建中出现错误提醒.或者开发者之间的沟通交流,进度汇报的事务,都是离不开一个通信工具.那就是邮件.在我们的项目开发中假设使用第三方的邮件平台,这肯定不是最好的选择.由于第三方的邮件须要外网的支持,可是外网又不是特别的可靠,假如外网链接出现了问题,这样就会不必要的延误我们的工期.再或者非常多项目都是保密项目,在开发中仅仅能用内网. 可是不用邮件吧又不行.为了解决这个头疼的问题,我们的内网邮件server工具就出现了,仅仅要用它安装在我们的server上.配置好账户.配置好c

转载:持续集成Jenkins+sonarqube部署教程

转载: 持续集成Jenkins+sonarqube部署教程 持续集成 1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简易的集成,后续需要修改accio源码做深度集成) 1.2 预计读者 系统配置管理员:要懂得搭建持续集成环境,有问题可以排查:架构师:了解持续集成实现原理,协助项目接入持续集成.项目在持续集成环境运行中,进行维护.分析构建异常等:维

这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script

这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##本文同一时候发表在http://www.cnblogs.com/wade-xu/p/4378224.html ##转载注明出处 部门用持续集成已经非常久了,但事实上使用起来还是非常麻烦的.每当要给一个新项目set up持续集成的环境,尽管是Copy一些现有的jobs, 可是很多參数,变量须要去改,然后还有调试,少说3,4天搞一下,非常不方便. 近期比較空,就把现有的持续集成系统升级改造下,job用一套模

持续集成(二)工具搭建篇—内网邮件服务器搭建

在我们的持续构建中,项目构建中出现错误提醒,或者开发人员之间的沟通交流,进度汇报的事务,都是离不开一个通信工具,那就是邮件.在我们的项目开发中如果使用第三方的邮件平台,这肯定不是最好的选择,因为第三方的邮件需要外网的支持,但是外网又不是特别的可靠,假如外网链接出现了问题,这样就会不必要的延误我们的工期.再或者很多项目都是保密项目,在开发中只能用内网.但是不用邮件吧又不行.为了解决这个头疼的问题,我们的内网邮件服务器工具就出现了,只要用它安装在我们的服务器上,配置好账户,配置好客户端,在内网里就可

使用WIF实现单点登录Part I——Windows Identity Foundation介绍及环境搭建

首先先说一下什么是WIF(Windows Identity Foundation).由于各种历史原因,身份验证和标识的管理一般都比较无规律可循.在软件里加入"身份验证"功能意味着要在你的代码里混进处理底层任务(如验证用户名和密码,与X509证书或类似的证书打交道等)的代码.这样一来就得对基础架构相当依赖,程序很难移植,除非大范围重写.要改变这种情况,使用基于声明的标识(claims-based identity)可以很好的解决这个问题.这个"基于声明的标识"是神马东

【美妙的Python之中的一个】Python简单介绍及环境搭建

美妙的Python之Python简单介绍及安装         简而言之: Python 是能你无限惊喜的语言,与众不同.             1.Python:          Python英文意思为蟒蛇,故又称为蟒蛇语言,在图标设计上有所体现,贵铎·范·罗萨姆(Guido van Rossum)于1989年创立.Python的特质,简单,优雅,健壮,继承传统编程语言的强大性与通用性,同一时候兼具简单脚本的简单性.         Python的哲学:仅仅用一种方法,最好是仅仅有一种方法

[springboot 开发单体web shop] 1. 前言介绍和环境搭建

前言介绍和环境搭建 简述 springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢? 在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小型团队来说,在项目开发之初选择服务化开发是得不偿失的,因为对于此类团队,势必所有的工作都是需要我们开发人员来做的,例如: 技术选型 业务需求分析 业务需求设计 大量的测试 运行部署 运营健康监控 ... 小团队或小公司如果开发人员把大规模的精力放在除业务之外的工作中,那么我们的开发效率势必会特别低下

App自动化测试-1.App自动化介绍和环境搭建

*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD

Java持续集成(1) – 在CentOS上搭建Jenkins

本文将介绍如下内容 1 Ant配置 2 Maven配置 3 Jenkins配置   Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1 持续的软件版本发布/测试项目 2 监控外部调用执行的工作 使用Jenkins实现持续集成一般还需要Ant.Maven配合   1 Ant配置 1 官网下载ant  我装的版本是1.8.2的zip压缩包 2 拷贝zip到/usr/local目录下 3 unzip apache-ant-1.8.2-bin.zip 4 环境变量