Jenkins安装及使用
2023-12-29 17:16:18
简介
- Jenkins是一个可扩展的持续集成引擎。
- 持续集成,就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。
- 集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。
- 持续、自动地构建、测试软件项目。
- 监控一些定时执行的任务。
安装
需要在要部署Jenkins的服务器,先安装JDK、GIT、Maven
官网下载jenkins.war包(注意jenkins版本要与JDK版本相匹配)
上传war包后,执行。可以通过httpPort指定启动的端口号(默认8080)
# nohup后台启动
nohup java -jar jenkins.war --httpPort=9000 &
网页访问:9000
# 初始密码,根据页面提示访问
cat /root/.jenkins/secrets/initialAdminPassword
配置
修改插件升级站点
Manage Jenkins->Manage Plugins->高级
原站点:https://updates.jenkins.io/update-center.json 改为:http://mirror.xmission.com/jenkins/updates/update-center.json可以更快的下载插件
安装插件
- Publish over SSH
- Maven Integration
配置SSH服务器
Manage Jenkins->Configure System
可以设置多台服务器
配置全局工具
Manage Jenkins->Global Tool Configuration
根据服务器的JDK、GIt、Maven安装路径进行设置
使用
新建一个Maven项目并进行相关配置
配置源码管理
配置构建Build
clean package -Dmaven.test.skip=true -U
- clean: 清理项目构建目录,删除之前构建生成的文件。
- package: 打包项目,将项目编译成可执行的二进制文件(例如JAR、WAR等)。
- -Dmaven.test.skip=true: 跳过执行项目的测试阶段。通常情况下,Maven会在构建过程中执行项目的测试用例,但使用该参数可以跳过测试阶段。
- -U: 强制更新依赖项。使用该参数会强制Maven检查远程仓库以获取最新的依赖项。
配置Post Steps
部署war包到linux服务器
注意根据自己实际项目路径做调整
#!/bin/bash
source /etc/profile
#Maven打包后的程序名称(名称要求完整)
app=tomcat-8.5.23_eps
#若项目已启动,杀死旧进程
PID=`ps -ef | grep -w "$app" | grep -v grep | awk '{print $2}'`
if [ "$PID" != "" ]; then
echo kill $PID
kill -9 $PID
fi
#进入tomcat包目录(根据你的实际情况改动)
cd /data/WISE_POM/tomcat-test/webapps/
#移除所有文件(如果你是一个tomcat多个项目,不要这样做)
rm -rf *
#将war包复制到当前目录(原目录是在配置SSH服务器时设置的,注意调整)
cp -f /data/wars/*.war ./
#war包改名(根据你的实际情况,看是否需要)
mv eps-0.0.1-SNAPSHOT.war eps.war
#启动tomcat
cd /data/WISE_POM/tomcat-test/bin
sh startup.sh
部署jar包到windows服务器
由于jenkins在构建完成后,会自动杀死进程,所以采用使用WinSW将jar包,在windows服务器包装成一个服务。参考:http://t.csdnimg.cn/tq3sd
脚本文件内容
copy /Y C:\target\oa-wiseweb-2.0.8.jar D:\runable_jars\oa-wiseweb-lc\oa-wiseweb-2.0.8.jar
net stop oa-wiseweb-test
net start oa-wiseweb-test
1.将在配置SSH服务器设置的传输文件路径下的jar包,拷贝到项目目录下
2.重启服务
其他
钉钉机器人
- 安装插件
- 配置钉钉机器人(Manage Jenkins->Configure System)
- 项目配置时使用该机器人
文章来源:https://blog.csdn.net/u011429167/article/details/135291379
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!