1、Jenkins安装

操作环境:Ubuntu

jenkins针对windows,ubuntu,MacOS平台都提供了安装包,但是个人觉的还是没有通用Java包(.war)好用。下载地址:https://jenkins.io/download/ 。启动方式:

java -jar jenkins.war

启动成功后,在浏览器地址栏中输入:http://localhost:8080/ 。然后根据提示输入初始密码,创建管理员用户。最后等待插件安装完毕即可,这个过程比较长,耐心等待,如果出现网络原因导致安装失败,重试即可。

2、Jenkins启动脚本

jenkins启动方法:java -jar jenkins.war。jenkins停止方法:查询jenkins的进程ID,然后kill。重启则是先停止在启动,如果停止,启动次数频繁的话,这些操作很麻烦。为此下面先编写启动脚本,根据传入的参数执行分别执行启动,停止,重启操作。·

[ 1、jenkins启动脚本 ]:Jenkins.sh

#!/bin/bash
args=$1
jenkinsWarPath="/home/stephen/downLoad"
function isRuning(){
local jenkinsPID=`ps -ef|grep jenkins|grep -v grep|awk '{print $2}'`
if [ -z ${jenkinsPID} ];then
echo "0"
else
echo ${jenkinsPID}
fi
} #停止jenkins
function stop(){
local runFlag=$(isRuning)
if [ ${runFlag} -eq "0" ];then
echo "Jenkins is already stoped."
else
`kill -9 ${runFlag}`
echo "Stop jenkins sucess."
fi
} #启动jenkins
function start(){
local runFlag=$(isRuning)
echo "${runFlag}"
if [ ${runFlag} -eq "0" ];then
`/usr/bin/java -jar ${jenkinsWarPath}/jenkins.war &` > /dev/null
if [ $? -eq 0 ];then echo "Start jenkins sucess."
exit
else
echo "Start jenkins fail."
fi
else
echo "Jenkins is running row."
fi
} #重启jenkins
function restart(){
local runFlag=$(isRuning)
if [ ${runFlag} -eq "0" ];then
echo "Jenkins is already stoped."
exit
else
stop
start
echo "Restart jenkins sucess."
fi
} #根据输入的参数执行不同的动作
#参数不能为空
if [ -z ${args} ];then
echo "Arg can not be null."
exit
#参数个数必须为1个
elif [ $# -ne 1 ];then
echo "Only one arg is required:start|stop|restart"
#参数为start时启动jenkins
elif [ ${args} = "start" ];then
start
#参数为stop时停止jenkins
elif [ ${args} = "stop" ];then
stop
#参数为restart时重启jenkins
elif [ ${args} = "restart" ];then
restart
else
echo "One of following args is required: start|stop|restart"
exit 0
fi

Jenkins.sh 运行结果:

stephen@stephen-K55VD:~/quikStart$ ./Jenkins.sh start
5265
Jenkins is running row.
stephen@stephen-K55VD:~/quikStart$ ./Jenkins.sh stop
Stop jenkins sucess.
stephen@stephen-K55VD:~/quikStart$ ./Jenkins.sh restart
Jenkins is already stoped.
stephen@stephen-K55VD:~/quikStart$ ./Jenkins.sh start
0
4月 21, 2019 5:46:50 下午 org.eclipse.jetty.util.log.Log initialized
信息: Logging initialized @2698ms to org.eclipse.jetty.util.log.JavaUtilLog
4月 21, 2019 5:46:50 下午 winstone.Logger logInternal
信息: Beginning extraction from war file

3、节点配置

在系统管理-->节点管理下新建节点,配置节点名称,远程工作目录,远程主机ip以及认证信息,我这里执行的是Python脚本,java相关的无需配置。

4、任务配置

jenkins首页新建任务,输入名称,选择:构建一个自由风格的软件项目。在Restrict where this project can be run的label处输入上一步骤创建的节点名称并回车。

选择定时构建,配置时刻表。时刻表共有五个参数,分别表示:分钟,小时,天,月,星期。 H/02 * * * * 表示每隔两分钟执行一次任务。

MINUTE HOUR DOM MONTH DOW
MINUTE Minutes within the hour (0–59)
HOUR The hour of the day (0–23)
DOM The day of the month (1–31)
MONTH The month (1–12)
DOW The day of the week (0–7) where 0 and 7 are Sunday.

build处选择添加build step -->执行shell:填写要执行的命令名称。

BuildTest.sh脚本的作用是从github上拉取测试代码并执行,内容如下:

#!/bin/bash
buildPath="/home/stephen/buildTest"
if [ -e ${buildPath} ];then
cd ${buildPath}
rm -rf ${buildPath}/*
else
mkdir -p /home/stephen/buildTest
fi git clone https://github.com/Slience007/pyunitest.git python3.6 ${buildPath}/pyunitest/run.py

执行已经配置完成的任务:点击任务名称,点击立即构建。任务运行完毕后,点击console output,运行结果如下:

5、集成HTML测试报告

Jenkins首页,系统管理-->插件管理页面安装插件:HTML Publisher plugin,Groovy,Startup Trigger。插件安装成功后,编辑已经配置好的任务,Add Build step添加系统级别Groovy脚本。添加如下命令并保存。

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")



Post-build Actions选择插件HTML Publisher plugin,配置HTML测试报告的路径,文件名称和显示名称。如下图所示。

保存上述配置,立即构建任务,点击测试报告,查看结果:



Jenkins|简单Job配置|启动脚本|测试报告的更多相关文章

  1. HBase配置&启动脚本分析

    本文档基于hbase-0.96.1.1-cdh5.0.2,对HBase配置&启动脚本进行分析 date:2016/8/4 author:wangxl HBase配置&启动脚本分析 剔除 ...

  2. Spark配置&启动脚本分析

    本文档基于Spark2.0,对spark启动脚本进行分析. date:2016/8/3 author:wangxl Spark配置&启动脚本分析 我们主要关注3类文件,配置文件,启动脚本文件以 ...

  3. Redis 3 在CentOS 6.5上安装笔记,含启动脚本

    Redis的强大就不多说了,直接上菜. 第1步:下载.编译.安装 cd /opt wget http://download.redis.io/releases/redis-3.0.5.tar.gz . ...

  4. hadoop启动脚本

    记录一下一个简单的hadoop启动脚本 就是启动zookeeper集群,hadoop的HDFS和YRAN的脚本 start-cluster.sh 关于关闭的脚本,只需要顺序换一下,然后将start改为 ...

  5. Jenkins的安装、启动和配置

    一.Jenkins的安装 1.前提条件:已经成功安装了JDK,因为jenkins是一款基于Java的持续集成工具. 2.准备工具:下载一个jenkins的war包. 3.启动方法:如把jenkins. ...

  6. (转)mysql5.6.7多实例安装、配置的详细讲解分析及shell启动脚本的编写

    一.mysql安装 1.下载mysql数据库源码包: wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz 2.安装mys ...

  7. Jenkins简单入门:下载-安装-配置-构建

    Jenkins简单配置流程 官网下载地址:https://jenkins.io/index.html 1.下载安装Jenkins (1)点击Download Jenkins进入下载页 (2)根据自己运 ...

  8. gitlab6 nginx配置和启动脚本

    gitlab6 nginx配置和启动脚本 cheungmine 2013-10 最近把gitlab安装到了ubuntu12.04.3的虚拟机上了.参考: https://github.com/gitl ...

  9. Centos 配置开机启动脚本启动 docker 容器

    Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为 ...

随机推荐

  1. 树莓派.设置无线网卡为AP工作模式(pi2和pi3)

    树莓派2的设置办法: 1. 安装NetworkManager管理工具(可选),以支持nmcli命令 sudo apt-get install -y network-manager 2. 安装hosta ...

  2. engine_init_options.go

    package ) type {         options.PersistentStorageShards = defaultPersistentStorageShards     } }

  3. 【BZOJ 5222】[Lydsy2017省队十连测]怪题

    题目大意: 传送门 给一个长度为$n(n<=200)$的数列$h$,再给$m$个可以无限使用的操作,第$i$个操作为给长度为花费$c_i$的价值给长度为$l_i$的数列子序列+1或-1,求将数列 ...

  4. BZOJ_5180_[Baltic2016]Cities_ 斯坦纳树

    BZOJ_5180_[Baltic2016]Cities_ 斯坦纳树 题意: 给定n个点,m条双向边的图.其中有k个点是重要的.每条边都有一定的长度. 现在要你选定一些边来构成一个图,要使得k个重要的 ...

  5. 机器学习类别不平衡处理之欠采样(undersampling)

    类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况 常用的做法有三种,分别是1.欠采样, 2.过采样, 3.阈值移动 由于这几天做的project的target为正值的概率不到4%,且数据 ...

  6. MYSQL—— 基础入门,select 查询涉及到的关键字组合详解(进阶篇)

    SELECT查询组合使用的关键字很多,首先将最简单常用的关键字进行区分及使用,后续再继续补充............ 以下所有的关键字组合使用,主要以两个表students与students_scor ...

  7. 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署

    前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...

  8. Spark学习之编程进阶总结(二)

    五.基于分区进行操作 基于分区对数据进行操作可以让我们避免为每个数据元素进行重复的配置工作.诸如打开数据库连接或创建随机数生成器等操作,都是我们应当尽量避免为每个元素都配置一次的工作.Spark 提供 ...

  9. 文本离散表示(一):词袋模型(bag of words)

    一.文本表示 文本表示的意思是把字词处理成向量或矩阵,以便计算机能进行处理.文本表示是自然语言处理的开始环节. 文本表示按照细粒度划分,一般可分为字级别.词语级别和句子级别的文本表示.字级别(char ...

  10. asp.net core系列 58 IS4 基于浏览器的JavaScript客户端应用程序

    一. 概述 本篇探讨使用"基于浏览器的JavaScript客户端应用程序".与上篇实现功能一样,只不过这篇使用JavaScript作为客户端程序,而非core mvc的后台代码Ht ...