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包即可
最新文章
- Unexpected end of file from server 服务器访问问题导致
- ASP.NET 生命周期
- [tty与uart]1.Linux中tty框架与uart框架之间的调用关系剖析
- [POJ 2923] Relocation (动态规划 状态压缩)
- Java编程常见问题汇总
- python爬取某个网页的图片-如百度贴吧
- create OpenVPN on ubuntu12.04
- Mac系统下XAMPP的简单使用
- 【49】java内部类剖析
- package---包
- js数组方法详解(最新最全)
- php函数 array_combine
- Android文件各种存储路径的比较
- ExtJs 编译
- POJ 3259 Wormholes(bellman_ford,判断有没有负环回路)
- 基于tensorflow的MNIST手写识别
- Linux设备驱动剖析之SPI(三)
- 黑马程序员_java基础笔记(02)...java语言基础组成
- 透析ARP原理
- Python编程小坑
热门文章
- 45、[源码]-Spring容器创建-执行BeanFactoryPostProcessor
- luogu 4587
- [转]OpenMP中几个容易混淆的函数(线程数量/线程ID/线程最大数)以及并行区域线程数量的确定
- aws使用之负载均衡elb要点
- js new call apply bind 的 原理
- GFS中元数据的管理
- Java常用工具类之数据库操作辅助类DBUtil.java
- python3编程基础之一:注释模块和包
- 为Python配置Vim编辑器(GUI/非GUI皆可)
- netcore 发布到IIS上常见错误