官网:https://jenkins.io/

持续集成,快速发布是DevOps实践的最好方式。

目录

准备工作

在使用Jekins之前,先安装好如下组件:

  • JDK,并设置好Java环境变量,启动Jenkins时需要执行java命令
  • Maven(可选),但是为了使用自定义的settings.xml文件,自定义安装比较好。

并且确认部署Jenkins的主机能够访问外网(需要下载插件)。

下载/安装/启动

直接下载jenkins.war,然后执行:java -jar jenkins.war就可以启动jenkins了。
第一次启动时会默认生成一个密码,第一次访问页面时将会使用该密码。
第一次登陆时会提示安装插件,可以直接安装推荐的插件列表,也可以自定义安装指定插件,安装插件需要等待一段时间。
插件安装完毕之后需要创建第一个管理员账户,设置完毕之后重启登录jenkins。

提示:

  1. 如果在新建第一个管理员账户之后无法登录,请重启jekins重新访问首页并登录即可。
  2. 如果需要修改jekins的workspace路径,请在第一次启动之前就修改,如果在启动之后修改将会重新执行一次初始化操作。

基础配置

第一次使用新建的管理员账户登录之后,先进行全局工具配置,路径:“系统管理”->“全局工具配置”。
在这里进行全局的MAVEN,JDK,GTI等基础环境配置。

插件配置

为了构建Maven项目,需要先安装插件:“Maven Integration”插件。
安装路径:“系统管理”->“管理插件”,切换到“可选插件”标签页,在右上角搜索框输入:“Maven Integration”,选择并安装“Maven Integration”插件,安装插件需要等待一段时间。

构建第一个Java项目

安装完“Maven Integration”插件之后,回到jenkins首页。
点击“新建任务”,输入任务名称,选择“构建一个maven项目”,点击“确定”按钮进入到任务配置界面,分别对如下参数进行配置:

  • General:配置任务基本信息,如:任务描述等等。
  • 源码管理:选择Git,输入源码仓库地址,默认选择从master分支构建。
  • 构建触发器:选择“轮询 SCM”,填入构建计划,如每3分钟检查一次项目变化:*/3 * * * *
  • 项目构建:在Build选项中,“Root POM”参数为构建时需要使用的pom.xml文件,默认使用的项目根目录下的pom.xml。如果pom.xml不在根目录下,需要明确填写,如:xxx/yyy/pom.xml;参数“Goals and options”为执行构建时使用的命令,如:clean package -DskipTests=true

在任务页面的左侧菜单中,选择“立即构建”,此时在“构建历史”中就可以看到所有执行构建任务的信息。点击任意一个历史构建任务,选择“控制台输出”可以查看详细的构建输出日志。

部署项目

构建完成够可以通过执行脚本的方式将程序部署的目标服务器,分三步走:
第一步:配置免密码登录方式登录目标服务器(SSH免密码登录)
第二步:将构建的文件复制到目标服务器(使用scp命令)
第三步:通过插件“Jenkins SSH”在目标服务器执行脚本进行程序部署

【参考】
http://www.liaoxuefeng.com/article/001463233913442cdb2d1bd1b1b42e3b0b29eb1ba736c5e000 使用Jenkins进行持续集成
http://fanlychie.github.io/post/jenkins-remote-ssh.html Jenkins SSH 远程执行 Shell 脚本
https://jenkins.io/doc/book/using/ jenkins官方手册
https://www.cnblogs.com/exmyth/p/7148330.html 更改Jenkins的workspace目录
https://segmentfault.com/q/1010000006741100 jenkins管理界面中没有 构建maven项目 这一项

Jenkins实践之入门体验的更多相关文章

  1. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  2. Vert.x入门体验

    Vert.x入门体验 一.概述 Vert.x(http://vertx.io)是一个基于JVM.轻量级.高性能的应用平台,非常适用于最新的移动端后台.互联网.企业应用架构. 二.安装配置 访问Vert ...

  3. 有没有最好的学习Angularjs2的视频入门体验?

    Which are the best video tutorials for learning AngularJS 2? 有没有最好的学习Angularjs2的视频入门体验? 翻译来源:https:/ ...

  4. Spring实践系列-入门篇(一)

    本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性 1 环境搭建 1.1 Maven依赖 目前只用到依赖注入的功能,故以下三个包已满足使用. <properti ...

  5. SpringBoot集成Spring Security入门体验

    一.前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权. 二者区别 Spring Security:重量级安全框架 Apache S ...

  6. Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】

    Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]

  7. Jenkins持续集成 入门实践

    本文测试环境: ASP.NET MVC项目,Windows 7环境,SVN代码仓库, MSBuild,TortoiseSVN 持续集成这种工具很多了,Jenkins比较常用,他的原理就是一个服务,有一 ...

  8. SSH的简单入门体验(Struts2.1+Spring3.1+Hibernate4.1)- 查询系统(下)

    我们继续吧,SSH最大的优点就是实现的系统的松耦合,能够将后台和前台有机的分离开来. 一.目录结构 一个好的程序要有一个好的开始.我们先来看看整个目录结构吧 主要的是三层架构概念,或者说是mvc的概念 ...

  9. 研发协同平台持续集成之Jenkins实践

    导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一. 什么是持续集成 在<持续集成>一书中,对持续集成的定义如下:持续集成 ...

随机推荐

  1. 该用Python还是SQL?4个案例教你节省时间

    在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答.每种语言都有其优势,它们之间也存在着不同的区别.不能否认的是,有些操作用Python执行起来要比SQL更加高效.这篇文章分享 ...

  2. C# 虚拟串口通信

    将主端口COM8拆分成 COM1和COM2两个虚拟端口 COM8接收的消息会传递给COM1和COM2 SerialPort spSend;//spSend,spReceive用虚拟串口连接,它们之间可 ...

  3. 西湖论剑2019-msc之奇怪的TTL

    msc1给了一串很长的TTL字符,参考一些隐写的文章,猜测是在ttl中藏了信息,题目是这样的 我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL ...

  4. serialize()与serializeArray()

    1.了解serialize()与serializeArray() serialize()序列化表单元素,用于ajax请求, serializeArray()序列化表单元素,类似于serialize,但 ...

  5. 浏览器仿EXCEL表格插件 - 智表ZCELL产品V1.4发布

    智表(zcell)是一款浏览器仿excel表格jquery插件.智表可以为你提供excel般的智能体验,支持双击编辑.设置公式.设置显示小数精度.下拉框.自定义单元格.复制粘贴.不连续选定.合并单元格 ...

  6. Namespace讨论

    我们需要讨论一个深层次的问题: 为什么不直接在 tape17162c5-00 和 tapd568ba1a-74 上配置 Gateway IP,而是引入一个 namespace,在 namespace ...

  7. mybatis中常见的问题总结

    如下所有举例基于springboot+mybatis项目中,SSH使用mybatis的写法也一样,只是形式不同而已 问题1.org.apache.ibatis.binding.BindingExcep ...

  8. Windows下安装配置MongoDB

    Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...

  9. JS学习笔记:(二)回流和重绘

    在搞清楚回流和重绘的概念之前,我们要清除浏览器的渲染过程. 解析生成DOM Tree(此时包含所有节点,包括display:none); 根据CSS Object Module(CCSSOM)计算节点 ...

  10. DAY19、日常模块

    一.hashlib模块:加密1.基本使用:import hashlibcipher = hashlib.md5('需要加密的数据(二进制形式)'.encode('utf-8'))print(ciphe ...