jenkins 持续集成和交付——一个java构件小栗子(四)
前言
介绍一下java 构建的小栗子。
正文
maven 管理
java 是用maven 管理包的,那么我们是要安装maven的。
还是那句话,安装这种东西呢,去官网下载然后自己安装,不要用yum apt这种。
官网地址:https://maven.apache.org/download.cgi
下载,然后安装即可。然后就需要配置好自己的环境变量了。
vim /etc/profile
然后再最下面把maven配置一下。

然后重新加载一下。
source /etc/profile
好的,如果安装mavnen 成功的话,那么就可以进行jenkins配置了。
在全局配置工具中,找到jdk。

然后配置maven:

然后还需要配置一些全局环境变量,在系统配置里面找到全局变量,然后找到环境变量,填写如下:

后面我们需要用到这些参数。
因为我们在国内,所以你懂得,一定需要去配置maven的国内源,不然拉不下来。
vim /service/localService/apache-maven-3.6.3/conf/settings.xml
修改两个地方:

然后还需要修改包管理地址:

这样就可以了。
然后我们要试一下构建哈,对了,我的git的代码是一个最简单的spring boot,可以自己手建设一下。
然后再构建里面配置一下打包的脚本,如下:

然后点击build,发现就会去下载,并且打包。
tomcat 安装
下载好tomcat文件,然后再bin下面运行启动文件即可。
将打包好的jar包发送到tomcat中去。
在vim tomcat-users.xml
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
然后修改manager 对ip地址的限制:
你的tomcat目录/webapps/manager/META-INF/context.xml
然后需要注释掉,这个。
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
上面这个意思是访问地址只能是127开头的才可以访问,所以这里注释一下。
这样你就可以发现你可以访问tomcat访问地址,你的地址/manager,这样访问一下,它会让你输入账户密码,那么你就可以访问了。
那么就可以开始写脚本到tomcat了。一般有我们可以使用ftp 转移,因为有插件那么我们可以使用插件的形式。
下载下面这个插件:

然后修改配置:

这些是构建后操作,指定war文件,我虽然是spring boot,但是打包的是war包,关于如何打包成war包,可以百度一下。
我们打好的包会到/var/lib/jenkins/你的任务名字/workspace/target,所以填的就是target/*.war这样。
下面选好tomcat 版本,因为会调用tomcat接口。然后下面就是凭证,如果你阅读前面,那么你一定懂得。最后就是一个tomcat地址了。
接下来就是build过程,发现打包好,自动放在了tomcat下面,并且解析了。

jenkins 持续集成和交付——一个java构件小栗子(四)的更多相关文章
- jenkins 持续集成笔记2 --- 构建 Java 项目
先说一下流程: jenkins 从 gitlab pull 代码,使用 maven 打包,然后备份原来的jar包,使用rsync同步到服务器上,重启服务. pipeline 资源去看官方中文文档 ht ...
- Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】
Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]
- 接口自动化平台搭建(四),自动化项目Jenkins持续集成
一.Jenkins的优点 1.传统网站部署流程 一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...
- 自动化项目Jenkins持续集成
一.Jenkins的优点 1.传统网站部署流程 一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...
- 行为驱动:Cucumber + Selenium + Java(二) - extentreports 测试报告+jenkins持续集成
1.extentreports 测试报告 pom文件 <dependency> <groupId>com.vimalselvam</groupId> <art ...
- 什么是 Jenkins? 运用Jenkins持续集成
[注]本文译自:https://www.edureka.co/blog/what-is-jenkins/ 持续集成是 DevOps 最重要的部分,用于集成各个 DevOps 阶段.Jenkins ...
- python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?
python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...
- Docker+Jenkins持续集成环境(5): android构建与apk发布
项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...
- Jenkins持续集成学习-Windows环境进行.Net开发1
目录 Jenkins持续集成学习-Windows环境进行.Net开发 目录 前言 目标 使用Jenkins 安装 添加.net环境配置 部署 结语 参考文档 Jenkins持续集成学习-Windows ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
随机推荐
- C++ //count_if //按条件统计元素个数 //自定义和 内置
1 //按条件统计元素个数 2 //count_if 3 4 #include <iostream> 5 #include<string> 6 #include<vect ...
- 国内RPA融资年终大盘点:19起投资总额破34亿估值近230亿,垂直落地之年开启
2021国内RPA融资年终盘点:15家厂商融资总额破34亿,估值近230亿 2021RPA融资年终大盘点:19起投资估值近230亿,垂直落地之年开启 2021国内RPA融资年终盘点:15家厂商19起投 ...
- vue3切换theme功能
切换主题,老生常谈.反正我是第一次弄,还挺巧妙 我的实现方式是通过:root的修改,来一键换色 :root { // 主题色 --ry-primary-color: #ff9c00; // layou ...
- kubernetes 1.20版本 二进制部署
kubernetes 1.20版本 二进制部署 目录 kubernetes 1.20版本 二进制部署 1. 前言 2. 环境准备 2.1 机器规划 2.2 软件版本 3. 搭建集群 3.1 机器基本配 ...
- ansible 自动化运维(1)
ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量 ...
- 对象遍历 Object.keys(obj).forEach(name=> {})
Object.keys(props).forEach(name => { watch[name] = function (value) { this.columnConfig.update(na ...
- vue通用的增删改查按钮组件
代码复用:这个组件可以在多个页面或组件中使用,避免了重复编写相同的按钮代码. 灵活性:通过showButtons属性,可以根据需要显示不同的按钮.默认情况下,它会显示添加.修改和删除按钮,但你也可以根 ...
- 记录--Object.assign 这算是深拷贝吗
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在JavaScript中,Object.assign() 是一个用于合并对象属性的常见方法.然而,对于许多开发者来说,关于它是否执行深拷贝 ...
- 记录--手写一个 v-tooltip 指令
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 日常开发中,我们经常遇到过tooltip这种需求.文字溢出.产品文案.描述说明等等,每次都需要写一大串代码,那么有没有一种简单的方式 ...
- Python glob库的用法
一.匹配指定文件夹下的所有文件 files = glob.glob("C:\\Users\\liuchunlin2\\Desktop\\测试数据\\*") print(files) ...