6.jenkins构建任务3-java项目
java项目
部署java的maven项目
1.检查插件,新版的jenkins默认就会安装 maven的插件
没有的话手动安装一下。
2.安装环境
在jenkins的机器上安装 jdk和maven
安装maven
cd /opt
wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
tar -xzvf apache-maven-3.6.2-bin.tar.gz
mv apache-maven-3.6.2/ maven
vim /etc/profile
export PATH=$PATH:/opt/maven/bin
source /etc/profile
mvn -v
安装完之后
位置 $home/.m2 用户 在当前用户家目录下的.m2 用户
maven 配置文件
/opt/maven/conf/settings.xml 主配置文件
安装jdk
cd /opt
wget https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html sudo vim /etc/profile export JAVA_HOME=/opt/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib source /etc/profile
java -version
配置全局的
配置jdk 和 git 和maven,这个先都会在本机都装好。
新建项目
点击使用mavin项目
进行配置
配置git,前提我们已经将工程代码上传到了git代码库里面。
然后配置build。
pom文件 :Project Object Model,项目对象模型
通过xml格式保存的pom.xml文件。
作用类似ant的build.xml文件,功能更强大,该文件用于maven项目。
pom文件,需要安装实际路径填写。否则会报错
之前我们已经将代码上传到了gitlab上面。 然后我们可以看到pom文件是在 项目工程的java2的目录下面。(java1工程项目的根目录。)
Goals and options 中填写相关maven的指令
clean install -Dmaven.test.skip=true #清除后在安装的意思
这样简单的配置就完成了。发布一下,顺利完成。
查看日志
第一次部署时候,发现会下载许多的文件。这个应该maven自己里面配置的 。
不是完成之后。我们去查看jenkins的 workspace
我们在 workspace 的项目工程里面,有看到 多了一个 target目录。
新的项目,会部署成新的jar包。
jar包是不需要依赖tomcat。我们可以手动执行下。
java -jar testweb-v1.4.jar
可以看到执行结果。
这样我们maven的拉取代码就完成了。
推送
然后我们也可以传到node的机器上面 。 在jenkins 的 Post Steps 里面 进行配置即可。
rsync -avz ./target/testweb-v1.4.jar root@192.168.134.171:/data/java
构建完成后。
去node的机器上查看。jar包过来了。
war 项目
在实际的生产中,可能实际是部署的war。会在tomcat中进行运行。 然后我们部署一个war包的项目。
有个现成的github项目 (应该是个公共项目)
https://github.com/efsavage/hello-world-war
我们在jenkins上面,新建一个项目。
在github的 工程里面,获取git库地址
https://github.com/efsavage/hello-world-war
然后进行配置
然后配置pom 和maven指令
注意pom文件的工程中的位置。
配置完成之后进行部署。
部署完成之后,我们上服务查看,jenkins机器的新的项目工程下面的target目录下面会有 war包。
有了war包之后。我们就可以在节点机器上,部署一个tomcat 。然后用这个war包。来跑试试。
1号机器 节点机器(node) | 最终项目发布到这台机器 |
2号机器 jenkins | jenkins的部署,发布 |
3号机器 gitlab | 代码库 |
我们首先在我们的1号 节点机器部署完tomcat, 然后我们将war 包传到这个tomcat的 wabapps 下面。
在jenkins上的配置
这里选择使用shell。
这个可以选择,只在构建成功后在操作。
指令可以jenkins的服务器上面的项目工程下面跑跑,测试下。
rsync -avz --progress ./target/hello-world-war-1.0.0.war root@192.168.144.171:/opt/tomcat8/webapps
war位置 node机器(就是tomcat的机器),代码路径。
配置完后,跑一下看看。
跑了成功之后,我们可以看下日志。已经传输成功了。
现在我们去node的机器(就是部署tomcat的机器)上去看看 。
我们去到tomcat下面的webapps中。可以看到 war包已经过来了。
我们启动一下tomcat,会有相关的目录生成。
然后我们使用浏览器访问下。
可以访问。 至此, maven项目 完成了。
6.jenkins构建任务3-java项目的更多相关文章
- jenkins构建go及java项目
jenkins构建go及java项目 转载请注明出处https://www.cnblogs.com/funnyzpc/p/14554017.html 写在前面 jenkins作为java的好基友,经历 ...
- 三、使用Maven构建简单的java项目
前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse 2.apache-maven-3.3.9 3. ...
- Jenkins构建Maven多模块项目时,单独编译子模块,并且不触发构建其它模块
一.Jenkins构建Maven多模块项目时,单独编译子模块 配置: 1.Root POM指向父pom.xml 2.Goals and options指定构建模块的参数:mvn -pl jsoft-w ...
- Jenkins+Gradle+Sonar进行Java项目代码分析
Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...
- Ant构建与部署Java项目---入门
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...
- Gradle入门(3):构建第一个Java项目
Gradle插件通过引入特定领域的约定和任务来构建你的项目.Java插件是Gradle自身装载的一个插件.Java插件提供的基本功能远比源代码编译和打包多.它为你的项目建立了一个标准的项目布局,并确保 ...
- 使用Maven构建和测试Java项目
我们在创建项目时要学习的是如何使用 Maven 来创建一个 Java 应用程序.现在将学习如何构建和测试应用程序. 进入到 C:\MVN 目录我们准备创建来 java应用程序.打开 consumerB ...
- 使用jenkins构建一个自由风格的项目
一.创建一个freestyle风格的构建项目 二.输入任务名称和选择任务类型 三.配置项目 3.1:选择代码托管 3.2:到gitlab上去配置deploy key 3.3:到jenkins服务器去生 ...
- jenkins 构建一个前端web项目
Jenkins发布web前端代码 “系统管理”“管理插件”“已安装” 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装 ...
- [Jenkins]Jenkins构建时提示java.io.IOException: No space left on device
突然发现Jenkins的Job全部都停了,打开Jenkins发现所有的slave机器,均提示: 点开Dead(!),提示Thread has died,如下图: 看图好像说是Jenkins所在的服务器 ...
随机推荐
- 为用户分配有效期程序-更新数据库的TRY使用
REPORT ZPMRP030. TABLES:USR02. DATA: L_ERROR TYPE REF TO CX_SY_OPEN_SQL_DB, L_ERROR_TEXT TYPE STRING ...
- 在IIS上部署 .Net Core 3.0 项目踩坑实录
在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreModuleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了 ...
- JavaWeb学习——Servlet相关的接口和类
JavaWeb学习——Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...
- Attach Files to Objects 将文件附加到对象
In this lesson, you will learn how to attach file collections to business objects. For this purpose, ...
- js 回调地狱的另类解决方案尝试
例如 通过学生获取学生所在学校信息,需要先查询学生所在班级,再通过班级查询所在学校信息.js代码类似写法如下: function getStudentSchool(id) { ajax.get(&qu ...
- SQL实用技巧:如何分割字符串
create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as beg ...
- MySQL数据库增删改查等常用命令介绍
MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...
- java之等待唤醒机制(线程之间的通信)
线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同.比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消 ...
- react后台项目开发(一)
1. 项目开发准备 描述项目 技术选型 api 接口(4部分:3请求{url,请求方式,请求参数格式}, 1响应数据格式)/ 接口文档/ 测试接口 2. 启动项目开发 使用react脚手架创建项目 开 ...
- VMware® Workstation 15 Pro 最新版软件安装教程
VMware 15 Pro下载地址: https://pan.baidu.com/s/1ILY2PTqB-BaJMn2hbKO4CA 提取码:vebd 如有问题咨询QQ:2217084817 VMwa ...