Jenkins实践之入门体验

持续集成,快速发布是DevOps实践的最好方式。
目录
准备工作
在使用Jekins之前,先安装好如下组件:
- JDK,并设置好Java环境变量,启动Jenkins时需要执行java命令
- Maven(可选),但是为了使用自定义的settings.xml文件,自定义安装比较好。
并且确认部署Jenkins的主机能够访问外网(需要下载插件)。
下载/安装/启动
直接下载jenkins.war,然后执行:java -jar jenkins.war就可以启动jenkins了。
第一次启动时会默认生成一个密码,第一次访问页面时将会使用该密码。
第一次登陆时会提示安装插件,可以直接安装推荐的插件列表,也可以自定义安装指定插件,安装插件需要等待一段时间。
插件安装完毕之后需要创建第一个管理员账户,设置完毕之后重启登录jenkins。
提示:
- 如果在新建第一个管理员账户之后无法登录,请重启jekins重新访问首页并登录即可。
- 如果需要修改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章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Vert.x入门体验
Vert.x入门体验 一.概述 Vert.x(http://vertx.io)是一个基于JVM.轻量级.高性能的应用平台,非常适用于最新的移动端后台.互联网.企业应用架构. 二.安装配置 访问Vert ...
- 有没有最好的学习Angularjs2的视频入门体验?
Which are the best video tutorials for learning AngularJS 2? 有没有最好的学习Angularjs2的视频入门体验? 翻译来源:https:/ ...
- Spring实践系列-入门篇(一)
本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性 1 环境搭建 1.1 Maven依赖 目前只用到依赖注入的功能,故以下三个包已满足使用. <properti ...
- SpringBoot集成Spring Security入门体验
一.前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权. 二者区别 Spring Security:重量级安全框架 Apache S ...
- Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】
Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]
- Jenkins持续集成 入门实践
本文测试环境: ASP.NET MVC项目,Windows 7环境,SVN代码仓库, MSBuild,TortoiseSVN 持续集成这种工具很多了,Jenkins比较常用,他的原理就是一个服务,有一 ...
- SSH的简单入门体验(Struts2.1+Spring3.1+Hibernate4.1)- 查询系统(下)
我们继续吧,SSH最大的优点就是实现的系统的松耦合,能够将后台和前台有机的分离开来. 一.目录结构 一个好的程序要有一个好的开始.我们先来看看整个目录结构吧 主要的是三层架构概念,或者说是mvc的概念 ...
- 研发协同平台持续集成之Jenkins实践
导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一. 什么是持续集成 在<持续集成>一书中,对持续集成的定义如下:持续集成 ...
随机推荐
- javaFX笔记----ComboBox模仿qq账号下拉框删除账号
myComboBox.setCellFactory( new Callback<ListView<String>, ListCell<String>>() { @O ...
- mssql server for docker on MacOs
1. install 1.下载镜像 docker pull microsoft/mssql-server-linux 使用该命令就可以把数据库的docker镜像下载下来. 2.创建并运行容器 dock ...
- CentOS 7 系统下 GitLab 搭建
参考地址:https://blog.csdn.net/t748588330/article/details/79915003 1. 安装:使用 GitLab 提供仓库在线安装 curl -sS htt ...
- 元素定位之Ui-Automator-Viewer的使用
下载uiautomatorviewer升级版 1. 将所有jar包拷贝到%SDK%/tools\lib目录下,覆盖原来的uiautomatorviewer.jar2. 使用%SDK%/tools\ui ...
- vuex直接修改state 与 用dispatch/commit来修改state的差异
一. 使用vuex修改state时,有两种方式: 1.可以直接使用 this.$store.state.变量 = xxx; 2.this.$store.dispatch(actionType, pay ...
- C#中的out 参数,ref参数,值参数
大家可能在编码中或多或少的使用过out的ref,但是是否注意过他两的详细用法以及区别? 本文想介绍下详细介绍下out参数,ref参数以及一般值参数. 值参数 在使用参数时,把一个值传递给函数使用的一个 ...
- keras04 - 阿狗阿猫识别 面向对象编程
参考:https://www.bilibili.com/video/av32756783
- 使用c++如何实现在gRPC中传输文件
使用c++实现gRPC远程调用框架中传输文件,proto文件如下: syntax = "proto3"; package transferfile; service Transfe ...
- mysql 小结
Mariadb proxy maxscale01.test.com maxscale02.test.com Mariadb Galera Cluster db01.test.com db02.test ...
- [ffmpeg] h264并行解码
ffmpeg中的并行解码分为两种: Frame-level Parallelism Slice-level Parallelism Frame-level Parallelism 帧间依赖 我们之前讨 ...