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 ...
随机推荐
- Python下操作sqlite3
import sqlite3 dbpath = 'C:\\Django\\workplace\\sf\\d1.sqlite3' conn = sqlite3.connect(dbpath) cu = ...
- Fiddler下Firefox提示“您的连接并不安全”的解决办法
一.版本信息 Firefox 最新版本V46.0.1 Fiddler 最新版本V4.6.2.3 二.错误信息 开启fiddlers的https协议捕获的方法,百度上可以查到不再赘述,直接放张图(Too ...
- Unity调用安卓中的方法遇到的问题
最近在用U3D做一个简单的迷宫游戏,在项目中利用Unity制作游戏场景,在android中调用游戏场景,并在游戏结束后调用安卓方法,传递参数,退出游戏场景 查找网上资料,基本上Unity调用安卓的写法 ...
- (1)访问控制 (2)final关键字 (3)对象创建的过程 (4)多态
1.访问控制(笔试题)1.1 常用的访问控制符 public - 公有的 protected - 保护的 啥也不写 - 默认的 private - 私有的 1.2 访问控制符的比较 访问控制符 访问权 ...
- Eclipse validation
window->preferences->validation 可以取消部分文件的验证,取消build时验证,改为手动验证,提高效率.
- CSS盒子模型之CSS3可伸缩框属性(Flexible Box)
CSS盒子模型(下) 一.CSS3可伸缩框(Flexible Box) 可伸缩框属性(Flexible Box)是css3新添加的盒子模型属性,有人称之为弹性盒模型,它的出现打破了我们经常使用的浮动布 ...
- 20165318 2017-2018-2 《Java程序设计》第九周学习总结
20165318 2017-2018-2 <Java程序设计>第九周学习总结 目录 学习过程遇到的问题及总结 教材学习内容总结 第13章 Java网络编程 代码托管 代码统计 学习过程遇到 ...
- 【bzoj 2839】集合计数
权限题 根据广义容斥的套路就很好做了 设\(g_i\)表示交集至少有\(i\)个元素,\(f_i\)表示交集恰好有\(i\)个元素 显然有 \[g_i=\sum_{j=i}^n\binom{j}{i} ...
- Day5 类和对象
面向对象编程OOP 类:相似对象的集合. 对象 对象:实体.一切可以被描述的事物. 属性:特征. 方法:动作,行为. 类和对象的区别 [1]类时抽象的,对象是具体的. [2]类是一个模板,创建出来的对 ...
- 百度api:根据经纬度获取地理位置信息
调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...