• 一、新建一台虚拟机安装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的更多相关文章

  1. Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布

    一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...

  2. Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布

    思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...

  3. Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline

    一.Jenkins按角色授权 当一个公司的开发分为多个组别,或者是多个项目等等.用于公司内部测试,让开发人员自行构建测试,此时不可能让所有的开发都在公用一个构建,这样变得很混乱,为了解决这一问题,je ...

  4. Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群

    一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用 ...

  5. Gitlab+Jenkins学习之路(七)之发布PHP项目

    使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里 ...

  6. Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份

    一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...

  7. Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践

    目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...

  8. Gitlab+Jenkins学习之路(一)之Git基础

    1.GIT基础    GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方 ...

  9. Gitlab+Jenkins学习之路(二)之gitlab部署

    1.安装依赖及gitlab [root@linux-node1 ~]# yum install -y curl policycoreutils openssh-server openssh-clien ...

随机推荐

  1. C#.net XML的序列化与反序列化

    /// <summary> /// 将一个对象序列化为XML字符串 /// </summary> /// <param name="o">要序列 ...

  2. jquery如何设置与去除disabled属性?五种方法

    //两种方法设置disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("dis ...

  3. UNIX高级环境编程(8)进程环境(Process Environment)- 进程的启动和退出、内存布局、环境变量列表

    在学习进程控制相关知识之前,我们需要了解一个单进程的运行环境. 本章我们将了解一下的内容: 程序运行时,main函数是如何被调用的: 命令行参数是如何被传入到程序中的: 一个典型的内存布局是怎样的: ...

  4. umount nfs文件系统 显示 umount.nfs: device is busy

    网上的方法一般都是 fuser -m  /nfs 查出进程号,然后杀死进程号,或者fuser -km /nfs直接杀死,我试了下都不行 解决方法: 对于nfs文件系统来说,umount -l /nfs ...

  5. Eclipse插件安装方法大全

    1. M2e maven2插件安装 参考地址:http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketpla ...

  6. 10条Linux 命令了解服务器当前性能

    参考:http://www.infoq.com/cn/news/2015/12/linux-performance 1. uptime 如果电脑运行缓慢,执行 uptime 可以大致查看Linux服务 ...

  7. ubuntu常见问题排查

    1. ubuntu recovery mode read-only 获取写的权限 1.1. 选择fsck check all file systems 进去直接选择YES就可以了 1.2. 选择roo ...

  8. mysql大数据量使用limit分页,随着页码的增大,查询效率越低下

    1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题 ...

  9. python第十二课——for in循环

    1.for...in循环: 有两个使用场景: 场景一:for in和range对象配合使用 range对象的引入讲解 格式:range([start,end,step]): 特点:索引满足含头不含尾的 ...

  10. 4-6 R语言函数 排序

    #sort:对向量进行排序;返回排好序的内容 #order:返回排好序的内容的下标/多个排序标准 > x <- data.frame(v1=1:5,v2=c(10,7,9,6,8),v3= ...