Jenkins入坑记
记录一遍Jenkins初级使用教程
一,安装 (操作系统 centerOS7)
1-1.本次使用的是rpm包安装方式,在Jenkins官网下载rpm安装文件
下载地址: https://pkg.jenkins.io/redhat/。选择其中一个版本进行下载:

1-2.将下载好的rmp文件上传至服务器,进入rpm所在目录
执行安装命令: rpm -ivh jenkins-2.175-1.1.noarch.rmp
待安装完毕后执行 rpm -q jenkins 查询是否已经安装了Jenkins, 会看到 jenkins-2.175-1.1.noarch
几个Jenkins默认的相关目录:
/usr/lib/jenkins/jenkins.war WAR包 所在目录,
/etc/sysconfig/jenkins 配置文件所在目录
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件
1-3 配置java环境 (Jenkins必须依赖java环境)
修改 /etc/init.d/jenkins 配置文件 在candidates变量值中加入本地java实际安装目录如下图:

jenkins默认端口为8080,我这里8080端口已经被占用故需要修改Jenkins访问端口
在/etc/sysconfig/jenkins 配置文件中 修改 JENKINS_PORT="8080" 修改端口为8787
systemctl start jenkins.service 执行此命令启动Jenkins服务.
systemctl status jenkins.service 查看Jenkins运行状态.
在浏览器中输入 http://你的主机地址:端口 打开Jenkinsweb页面 页面会提示激活码在哪个文件中, 从该文件找出激活码后开始Jenkins之旅.
二,构建maven项目
2-1准备一个简单的可以启动的maven项目. 这里使用的Jenkins中的插件来创建一个构建maven项目任务.
点击Jenkins首页左侧菜单中的[系统管理,] 在系统管理中选择[插件管理]

2-2在右上角搜索框中搜索maven 选择该插件然后点击下面的[直接安装] (我这里的maven插件已经安装)

2-3配置Jenkins maven选项 : Jenkins首页左侧菜单中 [系统管理] [全局工具配置]

2-4进入全局工具配置页面 后 找到 maven 配置块 点击 [maven安装] 按钮

进入maven 配置

2-5maven插件和maven环境配置完成后 点击Jenkins首页左侧菜单中的[新建任务] 在新建任务页面中填入任务名称,选择 [构建一个maven项目]
点击 [确定] 按钮.

2-6接下来的每个模块设置如下: 分别是 General , 源码管理 , 构建触发器 ,构建环境 ,Pre Steps, Build, Post Steps, 构建设置, 构建后的操作
凡是未提供图片的均为默认设置

提示 : 我这里的服务器端已经安装了git,至于这一步是否必须也没做验证,如果插件不支持的话 首先要确保服务器上装了git.




test.sh 脚本内容如下:
mv -f /var/lib/jenkins/workspace/test/target/test-0.1.jar /home/test/app
# find the last started process id and if it isn't empty then kill the process
testPid=$(ps -ef|grep 'java -jar test-0.1.jar'|grep -v 'grep'|awk '{print $2}')
if [ "${testPid}" != "" ]; then
echo kill process:${testPid} time:$(date) >> kill_process.log
kill -9 ${testPid}
fi
rm -f test.log
nohup java -jar ${jar_name} > test.log &
2-7 保存后回到Jenkins首页 开始构建任务测试


2-8 Jenkins的默认工作目录在 /var/lib/jenkins/workspace/ 例如项目名称为test的话 Jenkins首先将项目clone到自己工作空间,
执行maven 构建后的jar包在test/target目录下 使用shell脚本直接启动该jar包即可

Jenkins入坑记的更多相关文章
- Kylo 入坑记
一.概述 Kylo,作为一个基于 Spark 和 NiFi 的开源数据湖编排框架,解决对数据湖获取.治理.感知和技术支持等诸多问题.Kylo 将数据湖的很多功能自动化,包括数据接入.准备.分析发现.P ...
- Hadoop入坑记
Hadoop入坑记 按照官方给的伪分布式配置 etc/hadoop/core-site.xml: <configuration> <property> <name> ...
- Spring Cloud Gateway入坑记
Spring Cloud Gateway入坑记 前提 最近在做老系统的重构,重构完成后新系统中需要引入一个网关服务,作为新系统和老系统接口的适配和代理.之前,很多网关应用使用的是Spring-Clou ...
- conda命令入坑记
conda命令入坑记 本人使用的软件版本: TypeError: LoadLibrary() argument 1 must be str, not None 网上太多的资料,大多都是在讲path的设 ...
- ALS部署Spark集群入坑记
[Stage 236:> (0 + 0) / 400]17/12/04 09:45:55 ERROR yarn.ApplicationMaster: User class threw excep ...
- Day25 前端自学日记——入坑记
一 学习契机 今年是走出校门的第一个年头,进入了一家还算不错的公司,领着一份还算不错的薪水,在外人眼中,似乎这样已经不错了,只要我努力好好做,前程一片光明.可事实真是这样吗?两份实习经历都指向我应该从 ...
- Highcharts入坑记
第一次用Highcharts画一个温度湿度变化的图片,因为不熟悉跳了好多坑,特记录下: 一.JS引用 <script src="~/Scripts/jquery.min.js" ...
- 【netcore入坑记】 .Net core UseRowNumberForPaging 分页报错 SQL Server 2008 R2 EntityFrameworkCore
异常环境: netcore版本:.Net Core 2.1 efcore版本:Microsoft.EntityFrameworkCore.SqlServer 2.1.1 sql sqlserver 版 ...
- gRPC入坑记
概要 由于gRPC主要是谷歌开发的,由于一些已知的原因,gRPC跑demo还是不那么顺利的.单独写这一篇,主要是gRPC安装过程中的坑太多了,记录下来让大家少走弯路. 主要的坑: 如果使用PHP.Py ...
随机推荐
- git的优点跟缺点?
优点: 1.分布式开发时,可以git clone克隆一个本地版本,然后在本地进行操作提交,本地可以完成一个完整的版本控制.在发布的时 候,使用git push来推送到远程即可. 2.git分支的本质是 ...
- HDU 6170 - Two strings | 2017 ZJUT Multi-University Training 9
/* HDU 6170 - Two strings [ DP ] | 2017 ZJUT Multi-University Training 9 题意: 定义*可以匹配任意长度,.可以匹配任意字符,问 ...
- guava字符串工具 Splitter 主要功能是拆分字符串为集合 Map
public class SplitterTest { public static void main(String args[]){ //1.拆分字符串为List集合 String str=&quo ...
- 34 | 到底可不可以使用join?
在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类: 我们 DBA 不让使用 join,使用 join 有什么问题呢? 如果有两个大小不同的表做 join,应该用哪个表做驱动表呢? 今 ...
- 001_git: 版本控制软件
一.基础配置 1.安装]# yum install -y git 2.配置用户信息配置用户联系方式:名字.email]# git config --global user.name "Mr. ...
- 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包
一.加密与解密 1.1 常见的加密算法 对称加密:怎么加密,就怎么解密 DES Date Encryption Standard AES Advance Encryption Standard 非对称 ...
- Python多线程笔记(三),queue模块
尽管在Python中可以使用各种锁和同步原语的组合编写非常传统的多线程程序,但有一种首推的编程方式要优于其他所有编程方式即将多线程程序组织为多个独立人物的集合,这些任务之间通过消息队列进行通信 que ...
- leetcode解题报告(18):Contains Duplicate
描述 Given an array of integers, find if the array contains any duplicates. Your function should retur ...
- [Python]闭包的理解和使用
闭包广泛使用在函数式编程语言中,虽然不是很容易理解,但是又不得不理解. 闭包是什么? 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包.闭包可以 ...
- decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETU ...