原文地址:Jenkins 基础入门

博客地址:http://www.extlight.com

一、前言

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

二、安装工作

测试环境:CentOS 7.4, IP:192.168.10.100

2.1 下载

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

2.2 启动/停止/重启命令

service jenkins start/stop/restart

chkconfig jenkins on

如果是首次安装 jenkins 启动失败,应该是 jenkins 没有找到 jdk 命令的缘故。我们有两种方式解决:

方式一: yum install java

方式二:解压包的 jdk :

vim /etc/sysconfig/jenkins

修改

JENKINS_JAVA_CMD="/usr/jdk1.8/bin/java"

精确到 java 命令。

启动成功后,打开浏览器访问:http://192.168.10.100:8080 来到 Jenkins 初始化首页,按照提示设置即可,最终会看到如下界面:

如果还出现问题,请查看 jenkins 日志查找原因。

2.3 文件目录

# 配置文件相关
/etc/sysconfig/jenkins # 工作空间相关
/var/lib/jenkins/ # 日志相关
/var/log/jenkins/jenkins.log

2.4 插件安装

Jenkins 提供了很多插件,我们可以根据自己的需求进行下载,下载方式如下:

主界面-> 插件管理,右上角搜索框,效果图如下:

三、安全授权

主界面 -> 系统管理 -> 全局安全管理

在授权策略中选择 “安全矩阵”,添加用户,输入我们安装 Jenkins 时设置的用户名。

授权:

四、全局工具

主界面 -> 系统管理 -> 全局工具配置。

我们需要配置 JDK、Git 和 Maven。如下图:

注意:要去掉自动安装的勾选

五、实战演练

场景:通过 Jenkins 从 Github 上拉去 Maven 项目到本地进行打包,并自动部署到 Tomcat 中。

测试的 maven 项目涉及到连接 mysql 数据库,在构建之前请设置数据库的数据。具体步骤请浏览 https://github.com/moonlightL/ml-blog

5.1 新建任务

主界面 -> 新建任务,选择自由风格的软件项目

5.2 源码管理

这一步骤作用是获取源码。

选中 Git,设置需要拉取的项目地址。

5.3 构建

这一步骤作用是将源码进行打包和部署。

点击 “增加构建步骤”,选中 “调用顶层 Maven 目标”,设置 maven 执行的命令:clean package -Dmaven.test.skip=true,如下图:

设置好 Maven 命令后,再点击 “增加构建步骤”,选中 “执行 Shell”,输入如下脚本(请根据自己的情况修改):

BUILD_ID=DONTKILLME
TOMCAT_HOME="/usr/tomcat8"
JENKINS_HOME="/var/lib/jenkins" kill -9 `ps -ef | grep tomcat | awk 'NR==1 {print $2}'` rm -rf $TOMCAT_HOME"/webapps/ROOT"
rm -rf $TOMCAT_HOME"/webapps/ROOT.war" cp $JENKINS_HOME"/workspace/ml-blog/target/ml-blog-0.0.1-SNAPSHOT.war" $TOMCAT_HOME"/webapps/ROOT.war" sh $TOMCAT_HOME"/bin/startup.sh"

保存,最后点击左侧 “立即构建” 即可。

构建完成后,我们打开浏览器访问:http://192.168.10.100:8090(jenkins 使用 8080 端口,将 tomcat 改成 8090),效果图如下:

六、参考资料

Jenkins 基础入门的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

随机推荐

  1. MySQL "java.lang.IllegalArgumentException: HOUR_OF_DAY: 2 -> 3" 问题解析

    抛出异常截图: 异常原因 系统时区原因. 解决办法 在数据库连接串加上 &serverTimezone=Asia/Shanghai 即可~ conn_str="jdbc:mysql: ...

  2. mailx配置安装

    mailxwget http://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gztar ...

  3. 20145319 《网络渗透》MS12_020安全漏洞

    20145319 <网络渗透>MS12_020安全漏洞 一 实验内容 初步掌握平台matesploit辅助模块aux的使用 辅助模块包括扫描等众多辅助功能 本次展示DOS攻击的实现 有了初 ...

  4. 详解KMP算法【转】

    本文转载自:http://www.cnblogs.com/yjiyjige/p/3263858.html KMP算法应该是每一本<数据结构>书都会讲的,算是知名度最高的算法之一了,但很可惜 ...

  5. HDU 4300 Clairewd’s message(扩展KMP)题解

    题意:先给你一个密码本,再给你一串字符串,字符串前面是密文,后面是明文(明文可能不完成整),也就是说这个字符串由一个完整的密文和可能不完整的该密文的明文组成,要你找出最短的密文+明文. 思路:我们把字 ...

  6. class文件的结构

    任何一个class文件都对应着唯一一个类或接口的定义信息,但反过来说,类或接口的定义信息并不一定都在文件里(比如类或接口也可以通过类加载器直接生成) class文件是一组以8位字节为基础单位的二进制流 ...

  7. Pro Git读书笔记 - Git 常用命令

    在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行git init 检查当前文件状态 要查看哪些文件处于什么状态,可以用git status命令 将工作文件 ...

  8. 日志_测试代码_Delphi7

    1. 2.Delphi (Windows API 文件尾部添加) function LogFile(_str :string) :integer; var hFile :THandle; strFil ...

  9. AI病毒来袭,拿什么拯救你我的电脑?

    文|雷宇 来源|智能相对论(aixdlun) 在刘慈欣的科幻小说<中国2185>中,除领土,领海,领空外,还有一个被称为电子领土的地方,这个地方除了容易受常规武器破坏外,还容易受到软件武器 ...

  10. 【转】Java面试题合集

    2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对 ...