Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat
一、新建一台虚拟机安装tomcat
()安装JDK
官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载jdk8,放到/usr/local/src/目录下
[root@linux-node3 ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz
[root@linux-node3 ~]# mv jdk1..0_151 /usr/local/jdk1.
[root@linux-node3 ~]# vim /etc/profile
增加如下内容:
JAVA_HOME=/usr/local/jdk1./
JAVA_BIN=/usr/local/jdk1./bin
JRE_HOME=/usr/local/jdk1./jre
PATH=$PATH:/usr/local/jdk1./bin:/usr/local/jdk1./jre/bin
CLASSPATH=/usr/local/jdk1./jre/lib:/usr/local/jdk1./lib:/usr/local/jdk1./jre/lib/charsets.jar
[root@linux-node3 ~]# source /etc/profile
[root@linux-node3 ~]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) -Bit Server VM (build 25.151-b12, mixed mode) ()安装tomcat
[root@linux-node3 ~]# wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz
[root@linux-node3 ~]# tar -zxvf apache-tomcat-8.5..tar.gz
[root@linux-node3 ~]# mv apache-tomcat-8.5. /usr/local/tomcat
[root@linux-node3 ~]# /usr/local/tomcat/bin/startup.sh
[root@linux-node3 ~]# netstat -tulnp |grep
tcp6 ::: :::* LISTEN /java 提示:三个端口8080为提供web服务的端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到 ()配置tomcat
[root@linux-node3 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users>
<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="admin123456" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
</tomcat-users>
[root@linux-node3 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@linux-node3 ~]# /usr/local/tomcat/bin/startup.sh 在访问tomcat时,点击"manager webapp"会跳出一个验证弹框,输入用户名密码

会跳转到以下界面,说明用户名密码无误,如图:

二、下载zrlog的java代码push到gitlab上
()下载zrlog的代码
[root@linux-node2 home]# wget https://codeload.github.com/94fzb/zrlog/zip/master
---- ::-- https://codeload.github.com/94fzb/zrlog/zip/master
Resolving codeload.github.com (codeload.github.com)... 192.30.255.121, 192.30.255.120
Connecting to codeload.github.com (codeload.github.com)|192.30.255.121|:... connected.
HTTP request sent, awaiting response... OK
Length: unspecified [application/zip]
Saving to: ‘master’
[ <=> ] ,, 199KB/s in .6s
-- :: ( KB/s) - ‘master’ saved []
[root@linux-node2 home]# du -sh
1.7M.
[root@linux-node2 home]# du -sh master
.6Mmaster ()解压
[root@linux-node2 home]# yum install -y unzip
[root@linux-node2 home]# unzip master ()初始化仓库,并将zrlog的代码push到gitlab
[root@linux-node2 home]# mkdir Java
[root@linux-node2 Java]# mv zrlog-master/* Java/
[root@linux-node2 Java]# git remote add orgin git@192.168.56.11:java/zrlog.git
[root@linux-node2 Java]# git add .
[root@linux-node2 Java]# git commit -m "add origin"
# On branch master
nothing to commit, working directory clean
[root@linux-node2 Java]# ll
total 48
drwxr-xr-x 2 root root 55 Dec 25 17:45 bin
-rw-r--r-- 1 root root 6114 Dec 25 17:45 CHANGELOG.md
drwxr-xr-x 2 root root 42 Dec 25 17:45 doc
-rw-r--r-- 1 root root 11358 Dec 25 17:45 LICENSE
-rwxr-xr-x 1 root root 6468 Dec 25 17:45 mvnw
-rw-r--r-- 1 root root 4994 Dec 25 17:45 mvnw.cmd
-rw-r--r-- 1 root root 7664 Dec 25 17:45 pom.xml
-rw-r--r-- 1 root root 3574 Dec 25 17:45 README.md
drwxr-xr-x 4 root root 28 Dec 25 17:45 src
[root@linux-node2 Java]# git push origin master
Counting objects: 457, done.
Compressing objects: 100% (426/426), done.
Writing objects: 100% (457/457), 2.98 MiB | 1.72 MiB/s, done.
Total 457 (delta 51), reused 0 (delta 0)
remote: Resolving deltas: 100% (51/51), done.
To git@192.168.56.11:java/zrlog.git
* [new branch] master -> master
三、新建一个maven项目zr_blog
(1)新建项目
登录jenkins,点击“新建”,任务名称自定义(zr_blog)
选择“构建一个maven项目”
点击“确定”
(2)配置项目
源码管理
选择 “git”, Repository URL填写你的git地址,并配置对应的key,大家最好事前先在jenkins这台机器上能够直接远程git操作私有仓库
构建触发器、构建环境、Pre Steps保持默认
Build
“Root POM”为pom.xml, Goals and options 填写 clean install -D maven.test.skip=true
Post Steps、构建设置保持默认
构建后操作
点击“增加构建后操作步骤”选择“Deploy war/ear to a container”,“WAR/EAR files”填写“**/*.war”,Contex path留空,Containers选择Tomcat 8.x,Tomcat URL填写要把war包发布到的那台机器的url,如http://192.168.56.13:8080
Credentials这里需要点击右侧的Add,添加用户名和密码

点击"立即构建"查看控制台信息,如图:

(3)查看发布结果
查看linux-node3的webapps目录,会有相对应的war包,并已经进行解压,使用浏览器访问
[root@linux-node3 ~]# ll /usr/local/tomcat/webapps/
total
drwxr-x--- root root Dec : docs
drwxr-x--- root root Dec : examples
drwxr-x--- root root Dec : host-manager
drwxr-x--- root root Dec : manager
drwxr-x--- root root Dec : ROOT
drwxr-x--- root root Dec : zrlog-1.8.
-rw-r----- root root Dec : zrlog-1.8..war

Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat的更多相关文章
- Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布
一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...
- Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布
思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...
- Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline
一.Jenkins按角色授权 当一个公司的开发分为多个组别,或者是多个项目等等.用于公司内部测试,让开发人员自行构建测试,此时不可能让所有的开发都在公用一个构建,这样变得很混乱,为了解决这一问题,je ...
- Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群
一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用 ...
- Gitlab+Jenkins学习之路(七)之发布PHP项目
使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里 ...
- Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...
- Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践
目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...
- Gitlab+Jenkins学习之路(一)之Git基础
1.GIT基础 GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方 ...
- Gitlab+Jenkins学习之路(二)之gitlab部署
1.安装依赖及gitlab [root@linux-node1 ~]# yum install -y curl policycoreutils openssh-server openssh-clien ...
随机推荐
- SqlServer查询存储过程中包含指定的内容
存储过程太多,有时只记得存储过程里面的某一点类容,想要找到对应的存储过程: SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容 FROM syscomments sc INNE ...
- Ardunio控制RGB的LED灯显示彩虹渐变色.
由于我使用的是共阴极的RGB LED,如果你的是共阳极的,接线的时候要注意一下. 其他没什么不同 //定义RGB色彩的输出I/O ; ; ; //标记颜色变化的方式,增加值还是减小值 bool red ...
- [微信小程序直播平台开发]___(二)Nginx+rtmp在Windows中的搭建
1.一个可以忽略的前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...
- HTML5新增和废弃的标签
一.废弃的标签 以下的 HTML 4.01 元素在HTML5中已经被删除,虽然浏览器为了兼容性考虑都还支持这些标签,但建议使用新的替代标签,矛盾的是老浏览器对新标签的支持度又不够,视项目的受众对象而定 ...
- Charles应用指南--安装与代理篇
Charles是开发测试过程中十分常用的一款代理软件,之前也写了一点基本使用.最近有新同事入职头一次用这个,就写了这么一份基本的安装和配置笔记. Charles 下载地址 mac:链接: https: ...
- SharePoint 改动passwordWeb Part部署方案
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012025054/article/details/31773231 SharePoint 改动pa ...
- Spring常用jar包的功能
jar名称 描述 spring-framework.jar spring框架比较完整的功能,core+aop+ioc+transaction spring-core.jar 基本上的核心工具类,一些u ...
- 【bzoj 3622】已经没有什么好害怕的了
题目 看到这个数据范围就发现我们需要一个\(O(n^2)\)的做法了,那大概率是\(dp\)了 看到恰好\(k\)个我们就知道这基本是个容斥了 首先解方程发现我们需要使得\(a>b\)的恰好有\ ...
- Hadoop学习之路(十)HDFS API的使用
HDFS API的高级编程 HDFS的API就两个:FileSystem 和Configuration 1.文件的上传和下载 package com.ghgj.hdfs.api; import org ...
- Day10 API
String类 String是不可变类:值一旦确定了,就不会更改. public static void main(String[] args) { String s1 = "hello&q ...