Jenkins自动化构建配置
写在前头
我每次修改代码一点东西,都要进行一个重新发布。重新发布的流程大概如下:
- 将最新代码同步上传到git上面
- Maven打包 mvn clean install
- 将最新的jar包上传到服务器上面,一般我用 lrzsz 如果遇到网速慢就没办法了
- 最后执行脚本,运行程序
大概四个步骤,时间最长的就是将jar包上传到服务器上面去了。如果包有问题,还有重新进行上面四个步骤,甚是烦人
在实习中,无意中接触到了Jenkins自动构建工具,那我们就来了解一下吧。
Jenkins实践
目的:本地IDEA一旦push了代码,jenkins能自动拉去最新代码,并且自动构建最新代码,发布
可以大致分为两个步骤
第一步:Jenkins从git拉去最新代码
第二步:Jenkins自动构建
完全是自动化的,不需要人为干预操作。只要IDEA上传代码到git,Jenkins就能帮你自动构建
第一步
Jenkins从git拉去最新代码
- 首先在Github中设置Webhooks(网络钩子),它可以在检测到push之后,主动向Jenkins发起post请求
- 其次在Jenkins里面配置git的信息
- 最后在每次Jenkins新建项目的时候,配置项目在git的地址,这样就能区分哪个项目了
第二步
Jenkins自动构建并发布代码
- 首先打开项目的配置文件,在项目中配置git的地址
- 其次打开gitHook这个选项(记得一定要勾选)
- 最后在执行shell脚本那里,输入maven命令和构建完要执行的脚本即可
Jenkins构建三大坑
- 第一大坑
Maven执行报错 我们通常执行Maven命令如下: mvn clean install -Dmaven.test.skip=true
但这样写必报错。因为Jenkins默认会为你加上mvn前缀,,所以你只用
clean install -Dmaven.test.skip=true 即可
- 第二大坑
Jenkins没有权限去执行shell脚本,被拒绝
可以将Jenkins设置为777,但这是非常不友好的。
具体可以参考以下这篇文章:Jenkins执行脚本提示没有权限的解决办法
- 第三大坑
Jenkins直接完成构建,会将构建启动的进程,全部杀死,我滴妈呀
BUILD_ID=DONTKILLME,即可防止jenkins衍生进程
具体可以参考以下这篇文章:jenkins 杀死衍生进程
Jenkins最终效果如下
由于博客园不支持上传视频,只能把视频放在第三方平台上了
链接如下
写在最后
Jenkins是真的蛮方便的,只要我上传代码至git,他就一路下来自动拉代码,运行脚本,发布,非常的方便
别看我这样简单的搭建完成了,没试过的可以试试,你会发觉坑还是很多的。
加油啦!!!
附录:
osc.sh的脚本
#!/bin/bash
pid=$(ps -ef | grep com.gdufe.osc.OscApplication | grep 'java' | grep -v grep | awk '{print $2'})
if [ -z "$pid" ]; then
echo 'there are not OscApplication process. starting will be continue.'
fi
if [ -n "$pid" ]; then
echo 'java process id is '$pid
if ps -p $pid > /dev/null
then
echo $pid' will be kill'
kill - $pid
fi
fi
echo 'start OscApplication wait.'
nohup java -jar osc.jar com.gdufe.osc.OscApplication >/dev/null >error.log &
echo 'finish starting OscApplication'
Jenkins自动化构建配置的更多相关文章
- Jenkins自动化构建python nose测试
[本文出自天外归云的博客园] 简介 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建 ...
- Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成
<SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关 ...
- Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建
Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...
- Jenkins自动化构建(一)执行selenium+python脚本
Jenkins执行python写的selenium自动化脚本,通常会遇到,执行打不开浏览器,查看jenkins构建Console Output控制台输出信息,发现脚本是执行了的,但是出错了,打开浏览器 ...
- 使用jenkins自动化构建android和ios应用
背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变.场景如 ...
- 用Docker运行Jenkins自动化构建.NET Core项目
目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器.接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手. 前置条件 一台已经安装 ...
- windows 安装 jenkins 自动化构建部署至linux服务器上
一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...
- jenkins自动化构建iOS应用配置过程中遇到的问题
最近配置jenkins来自动构建iOS应用,期间遇上不少问题.在这里分享给大家,也给自己留个底,方便下次解决问题. 首先说明下基本情况,我们因为部署jenkins的机器不是Mac,所以不能安装Xcod ...
- jenkins git gradle android自动化构建配置
需要安装软件(jenkins所在服务器): gradle.SDK 一.gradle安装(服务器部署的gradle版本需要等于或高于开发环境的gradle版本) 1.下载地址:http://servic ...
随机推荐
- 学以致用二十九-----python3连接mysql
在前面安装好mysql后,在一个项目中需要连接mysql,python是3.6版本 python3连接mysql需要安装pymysql模块 可以通过pip安装 查看pip 版本 pip --versi ...
- [转载]ECMall模板解析语法与机制
ECMall模板解析语法与机制 2011-05-22 在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词 ...
- HTTP 初步探究
网络上存在很多资源,也持续不断地生成新的资源.为了新建.获取和操作这些资源,引来了两个问题:如何定位资源,如何对他们进行操作.第一个问题引申出了 URI / URL 即 uniform resourc ...
- SqlServer 连接 相关。
sqlserver数据库连接池是一个客户端的东西.和sql server服务器无关. 各种provider默认的连接池大小不同. 比如:Ado.NET 中sqlserver 连接池默认的值是100. ...
- HDFS JAVA客户端的权限错误:Permission denied
HDFS JAVA客户端的权限错误:Permission denied 转自:http://blog.csdn.net/kkdelta/article/details/50393413 搭建了一个Ha ...
- MFC之几类消息的区别
1.ON_COMMAND与ON_UPDATE_COMMAND_UI 开发MFC程序,给菜单子项添加消息处理函数时,会碰到ON_COMMAND和ON_UPDATE_COMMAND_UI两个消息. ON_ ...
- 公司项目接触到了FormData,总结一下
Javascript FormData() 对象! 1.创建 var formData = new FormData(); 2.如果有form对象 则先获取form表单 然后初始化时直接加入进去 eg ...
- Python爬虫学习之正则表达式爬取个人博客
实例需求:运用python语言爬取http://www.eastmountyxz.com/个人博客的基本信息,包括网页标题,网页所有图片的url,网页文章的url.标题以及摘要. 实例环境:pytho ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- less编译工具——koala使用介绍
1:使用koala编译软件 官网:http://koala-app.com/index-zh.html (目前官网点击下载没有反应,有人说可能是网络问题,但真正的原因是需要FQ才能下载了) 百度 ...