实验环境:
Jenkins:192.168.1.12
tomcat:192.168.1.7
 
一、新建远程代码Java项目仓库
 
说明:这边测试是在coding上注册账户,建立远程仓库,coding地址:https://coding.net/login,也可以使用gitlub和github作为远程仓库,自由选择。
 
1:新建test-java项目

2:在Jenkins机器上生成秘钥对
[root@Jenkins ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a6:08:32:2e:1d:a6:85:bb:7e:64:dd:92:f7:60:b2:67 root@ghs
The key’s randomart image is:
+–[ RSA 2048]—-+
| |
| |
| |
| . |
|+ = . o S |
|.O = * B |
|+.+ . B o |
|.. . . E . |
|o.. o |
 
3:将id_rsa.pub公钥内容复制到远程仓库上
[root@jenkins .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy68qc7DtK09hWzrEv0jJXI28sluvpOK8oGR7Dhz2JDvbAxZ2jalipalIAxt8Hg3GbqYrzJIi6MTEYMbCKA7/XJ07dDfGvvwEnEyZb9fp1xgVzFCe5Vx9K5Qll/FpP0XtLK69QGMjrA1dsG1DRPyGqAySlYLo66TziSTG/RYI6NEPf40i7qaBQXobTNXj9Rv0b4fkJXlWHMZ+4zvo37UhhsgRt2SKJRupoKJpbONf3+H1u35KSsu5D5Qd4u7RCRJW2JGj9zyJt5VUiCUzQkyYiHRwarETC0HHGaqgFQltUJBC4SGkYVmYp3PDKZfhYNBE+JFvSJxkdz3Gyj63O9Nqz root@host1

4:Jenkins机器上创建java项目目录,并操作初始化和克隆远程仓库
[root@jenkins ~]# mkdir /home/java
[root@jenkins test-java]# git clone git@e.coding.net:ghs-test/test-java.git
正克隆到 'test-java'...
warning: 您似乎克隆了一个空版本库。
[root@jenkins test-java]# cd test-java
[root@jenkins test-java]# echo "# test-java" >> README.md
[root@jenkins test-java]# git add README.md
[root@jenkins test-java]# git commit -m "first commit"
[master(根提交) c286ffe] first commit
1 file changed, 1 insertion(+)
create mode 100644 README.md
[root@jenkins test-java]# git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@e.coding.net:ghs-test/test-java.git
* [new branch] master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
 
 
二、下载zrlog的Java包
 
1:Jenkins上下载zrlog
[root@jenkins test_java]# wget https://codeload.github.com/94fzb/zrlog/zip/master
[root@jenkins test_java]# ls
master README.md
 
2:unzip解压
[root@jenkins test_java]# unzip master
 
3:提交到远程仓库
[root@jenkins test-java]# git add .
[root@jenkins test-java]# git commit -m "add zrlog"
[root@jenkins test-java]# git push -u origin master
Counting objects: 606, done.
Compressing objects: 100% (554/554), done.
Writing objects: 100% (605/605), 1.89 MiB | 0 bytes/s, done.
Total 605 (delta 80), reused 0 (delta 0)
remote: Resolving deltas: 100% (80/80), done.
To git@e.coding.net:ghs-test/test-java.git
c286ffe..84a7318 master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。
 
4:远程仓库上查看是否存在zrlog

三、安装maven编译打包
maven官网下载地址:https://maven.apache.org/download.cgi
 
1:下载maven二进制包
[root@jenkins src]# wget https://www-eu.apache.org/dist/maven/maven-3/3.6.2/source/apache-maven-3.6.2-bin.tar.gz
 
2:解压
[root@jenkins src]# tar zxvf apache-maven-3.6.2-bin.tar.gz
 
3:移动到/usr/local目录下
[root@jenkins src]# mv apache-maven-3.6.2 /usr/local/maven
 
4:执行mvn -v,检查maven是否配置成功
[root@jenkins src]# /usr/local/maven/bin/mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.27.2.el7.x86_64", arch: "amd64", family: "unix"
 
四、配置tomcat
 
1:设置tomcat管理界面用户和密码,用户admin,密码abc-123。
[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
加入以下内容
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="abc-123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
 
2:开放管理界面访问IP限制,让Jenkins可以访问管理界面并部署
[root@tomcat src]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
修改为以下内容
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
 
五、配置Jenkins
 
1:安装完成后,到Jenkins web页面配置maven

2:设置jdk路径,这边是存在在/usr/local/目录下

3:构建Maven项目前,需先安装Maven Integration 和Deploy to container这两个插件

六、构建job任务,实现部署Java代码项目
 
1:构建test_java项目job

2:配置git,username:git用户、Private key选择Enter dirctly,私钥和你Git服务器中存放的公钥是配对的。

3:设置POM,Root POM为pom.xml, Goals and options 填写 clean install -D maven.test.skip=true

Post Steps、构建设置保持默认。

4:构建后操作,点击“增加构建后操作步骤—选择Deploy war/ear to a container选项

5:WAR/EAR files”填写“**/*.war”,Contex path留空,Containers选择需要发布对应的tomcat,这边是9.0版本,Cretentials配置tomcat的管理界面用户名和密码

6:Tomcat URL填写要把war包发布到的那台机器的url,如http://192.168.1.13

7:保存之后,返回项目首页,点击执行biud now开始部署,即可发布到远程机器上

Jenkins-部署java代码项目的更多相关文章

  1. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

  2. 使用Jenkins部署Spring Boot项目

    jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第 ...

  3. 如何在tomcat中如何部署java EE项目

    如何在tomcat中如何部署java EE项目 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法.2.在tomcat安 ...

  4. CentOS安装tomcat并且部署Java Web项目具有一定的参考价值

    本篇文章主要介绍了CentOS安装tomcat并且部署Java Web项目,具有一定的参考价值,有需要的可以了解一下.(http://m.8682222.com) 1.准备工作 b.因为tomcat的 ...

  5. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  6. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  7. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  8. 部署Java Web项目报错(一)

    今天,我在部署Java Web项目时,出现错误,并且在eclipse新建一个servers,却出现多个项目. 具体错误截图如下: 然后,我又将项目部署到JBoss服务器中,却还是运行不成功 22:12 ...

  9. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...

随机推荐

  1. C语言|博客作业08

    这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9976 我在这个课程的 ...

  2. code migrate

    1. 从Git上clone 仓库到本地. git clone --mirror http://gittest:gittest@192.168.1.x/x.git 2. push 到codecommit ...

  3. PostGIS 安装教程(Linux)(二)

    ##接上篇,上篇讲述了Postgresql的安装,此篇介绍postgis的安装 ##附上上篇链接:https://www.cnblogs.com/giser-s/p/11195419.html 二.安 ...

  4. cognos服务器性能测试诊断分析优化过程记录

    前段时间客户方一个系统上线后出现性能问题,就是查询报表的时候出现宕机现象,应项目组要求过去帮忙测试优化问题.  该项目的架构相对比较复杂,登录后要先进行认证服务器认证用户然后登录到应用系统A,在跳转到 ...

  5. ASP.NET Core +Highchart+ajax绘制动态柱状图

    一.项目介绍利用前端Highchart,以及ajax向后台获取数据,绘制动态柱状图.hightchart其他实例可查看官网文档.[Highchart](https://www.highcharts.c ...

  6. 借汇编之力窥探String背后的数据结构奥秘

    熟悉C++.java.VB等编程语言的朋友都知道String(字符串),它是编程语言中表示文本的数据类型,字符串由若干字符组成的,是所有编程语⾔中⾮常重要的成员.可能很多朋友平时只是使用它,没有仔细研 ...

  7. SpringBoot之DispatcherServlet详解及源码解析

    在使用SpringBoot之后,我们表面上已经无法直接看到DispatcherServlet的使用了.本篇文章,带大家从最初DispatcherServlet的使用开始到SpringBoot源码中Di ...

  8. yum运行报错:/usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks

    是因为yum动态库使用了新安装libcurl库导致的.使用ldd查看动态库依赖关系: ldd /usr/lib64/python2.7/site-packages/pycurl.so 删除动态库配置中 ...

  9. java String比较,“==”和“equal”区别

    public static void main(String[] args){ String str1 = new String("str"); String str2 = new ...

  10. Chapter 02—Creating a dataset(Part1)

    一. 数据集 1. 在R语言中,进行数据分析的第一步是创建一个包含待研究数据并且符合要求的数据集. · 选择装数据的数据结构 · 把数据装入数据结构中 2. 理解数据集 (1)数据集通常是矩形的数据列 ...