java项目

部署java的maven项目

1.检查插件,新版的jenkins默认就会安装  maven的插件

没有的话手动安装一下。

Maven Integration plugin

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项目的更多相关文章

  1. jenkins构建go及java项目

    jenkins构建go及java项目 转载请注明出处https://www.cnblogs.com/funnyzpc/p/14554017.html 写在前面 jenkins作为java的好基友,经历 ...

  2. 三、使用Maven构建简单的java项目

    前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse     2.apache-maven-3.3.9   3. ...

  3. Jenkins构建Maven多模块项目时,单独编译子模块,并且不触发构建其它模块

    一.Jenkins构建Maven多模块项目时,单独编译子模块 配置: 1.Root POM指向父pom.xml 2.Goals and options指定构建模块的参数:mvn -pl jsoft-w ...

  4. Jenkins+Gradle+Sonar进行Java项目代码分析

    Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...

  5. Ant构建与部署Java项目---入门

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...

  6. Gradle入门(3):构建第一个Java项目

    Gradle插件通过引入特定领域的约定和任务来构建你的项目.Java插件是Gradle自身装载的一个插件.Java插件提供的基本功能远比源代码编译和打包多.它为你的项目建立了一个标准的项目布局,并确保 ...

  7. 使用Maven构建和测试Java项目

    我们在创建项目时要学习的是如何使用 Maven 来创建一个 Java 应用程序.现在将学习如何构建和测试应用程序. 进入到 C:\MVN 目录我们准备创建来 java应用程序.打开 consumerB ...

  8. 使用jenkins构建一个自由风格的项目

    一.创建一个freestyle风格的构建项目 二.输入任务名称和选择任务类型 三.配置项目 3.1:选择代码托管 3.2:到gitlab上去配置deploy key 3.3:到jenkins服务器去生 ...

  9. jenkins 构建一个前端web项目

    Jenkins发布web前端代码 “系统管理”“管理插件”“已安装” 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装 ...

  10. [Jenkins]Jenkins构建时提示java.io.IOException: No space left on device

    突然发现Jenkins的Job全部都停了,打开Jenkins发现所有的slave机器,均提示: 点开Dead(!),提示Thread has died,如下图: 看图好像说是Jenkins所在的服务器 ...

随机推荐

  1. Unicode、UTF-8、Big Endian、Little Endian、GBK、UCS-2

    一.Unicode.UCS.GBK 1.开始计算机只在美国用.八位的字节一共可以组合出256(2的8次方)种不同的状态.把这些0×20以下的字节状态称为”控制码”.他们又把所有的空 格.标点符号.数字 ...

  2. Android 8.1 SystemUI虚拟导航键加载流程解析

    需求 基于MTK 8.1平台定制导航栏部分,在左边增加音量减,右边增加音量加 思路 需求开始做之前,一定要研读SystemUI Navigation模块的代码流程!!!不要直接去网上copy别人改的需 ...

  3. 深入解析ReentrantReadWriteLock

    前言: 在Java的锁中很多锁都是同一时刻只允许一个线程访问,今天就来看看一个特殊的锁——读写锁.它的特殊之处就在于同一时刻可以运行多个读线程访问或者有一个写线程在访问.能够大大的提高并发性和吞吐量 ...

  4. 45-管理 Machine

    用 docker-machine 创建 machine 的过程很简洁,非常适合多主机环境.除此之外,Docker Machine 也提供了一些子命令方便对 machine 进行管理.其中最常用的就是无 ...

  5. Centos7 下添加开机自启动服务和脚本

    1.添加开机自启服务 #设置jenkins服务为自启动服务 systemctl enable jenkins.service #启动jenkins服务 systemctl start jenkins. ...

  6. sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的英文月份格式(27-Aug-2019)

    脚本: /* 功能:sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的格式 示例:27-Aug-2019 作者:zhang502219048 脚本来源:https:// ...

  7. Eureka集群

    Eureka集群搭建 高可用集群配置 当注册中心扛不住高并发的时候,这时候 要用集群来扛: 普通操作 我们再新建两个module  microservice-eureka-server-2002  m ...

  8. centos7 链路聚合+KVM桥接连网

    一.两个物理网卡做链路聚合(em3,em4) 1)创建team类型的网卡,连接别名为team0,使用的模式为activebackup-主备/loadbalance-负载均衡nmcli con add ...

  9. HTTP常见响应状态码及解释、常用请求头及解释

    1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主 ...

  10. RabbitMQ 匿名队列断开问题定位记录

    RabbitMQ 匿名队列断开问题定位分析 1    问题现象 平台中,服务的信息交互通过RabbitMQ进行.在实际的使用中,发现系统启动后,就会出现status 监控的mq connection断 ...