git jenkins 部署java项目

1.Java项目部署基本概述:
1.什么是Java项目?
2.为什么Java项目需要使用Maven编译?
3.手动实现Java项目构建?
4.手动实现Java项目架构图?
源码包 jar包 war包
1.JAVA源码包--编译--> war --编译的过程中需要依赖--> jar包
2.JAVA源码包也可以编译生成 jar包 (需要被依赖才会启用 -->不能独立运行)
3.有的jar可以独立运行 java -jar xx.jar
手动部署Java项目至Web集群:
1.搭建Nginx+Tomcat集群架构?
1.负载均衡配置如下:
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_java.oldxx.com.conf
upstream java {
server 172.16.1.7:80;
server 172.16.1.9:80;
}
server {
listen 80;
server_name java.oldxx.com;
location / {
proxy_pass http://java;
proxy_set_header Host $http_host;
}
}
2.web节点配置如下:
0.安装JDK
1.安装nginx
2.安装tomcat
3.配置nginx+tomcat环境:
[root@web01 /soft]# yum install java -y
[root@web01 /soft]# mkdir /soft && cd /soft
[root@web01 /soft]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
[root@web01 /soft]# tar xf apache-tomcat-9.0.27.tar.gz
[root@web01 /soft]# ln -s /soft/apache-tomcat-9.0.27 /soft/tomcat
[root@web01 /soft]# /soft/tomcat/bin/startup.sh
[root@web01 ~]# cat /etc/nginx/conf.d/java.oldxx.com.conf
server {
listen 80;
server_name java.oldxx.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
2.开发提交Java源代码至gitlab仓库?
1.本地windows编写java代码
2.准备gitlab一个仓库
3.本地windows推送代码
3.手动获取Java源代码,然后使用maven进行编译?
1.git clone 获取代码
2.使用maven进行编译
yum install java maven -y
mvn clean package -Dmaven.test.skip=true
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
4.将编译后的war包部署至Tomcat集群?
for i in 7 9 ;do scp target/hello-world-war-1.0.0.war root@172.16.1.$i:/soft/tomcat/webapps/ROOT.war;done
for i in 7 9 ;do ssh root@172.16.1.$i "pkill java && /soft/tomcat/bin/startup.sh";done
5.最后通过浏览器访问测试,检测项目是否部署OK?
.自动部署Java项目至Web集群?
-------------------------------------------------------
1.Jenkins安装Maven插件,使其支持Maven项目创建?
2.Jenkins配置JDK路径以及Maven路径。
3.Jenkins创建Maven项目,然后进行构建。
4.编写自动上线脚本推送至web集群,最后通过浏览器访问?
5.优化部署脚本,使其支持上线与回滚功能?
6.项目相同版本可以重复构建,如何处理该问题?
java上线脚本参考:
#!/usr/bin/bash
# func: deploy auto html WEB_SERVER="172.16.1.8 172.16.1.9"
WEB_DIR="/soft/tomcat/webapps"
DATE=$(date +%F-%H-%M) #.打包代码
tar_code() {
cd ${WORKSPACE}
} #.推送代码
scp_push_code() {
for host in $WEB_SERVER
do
scp target/*.war root@$host:/opt/ROOT-${DATE}-${git_version}.war ssh root@$host "cd /opt/ && mkdir ROOT-${DATE}-${git_version} && \
unzip ROOT-${DATE}-${git_version}.war -d ROOT-${DATE}-${git_version} && \
rm -rf $WEB_DIR/ROOT && \
ln -s /opt/ROOT-${DATE}-${git_version} $WEB_DIR/ROOT && \
pkill java && /soft/tomcat/bin/startup.sh"
done
} #3.调用
deploy () {
tar_code
scp_push_code
} deploy
#!/usr/bin/bash
# func: deploy auto html WEB_SERVER="172.16.1.8 172.16.1.9"
WEB_DIR="/soft/tomcat/webapps"
DATE=$(date +%F-%H-%M) #1.打包代码
tar_code() {
cd ${WORKSPACE}
} #2.推送代码
scp_push_code() {
for host in $WEB_SERVER
do
scp target/*.war root@$host:/opt/ROOT-${DATE}-${git_version}.war ssh root@$host "cd /opt/ && mkdir ROOT-${DATE}-${git_version} && \
unzip ROOT-${DATE}-${git_version}.war -d ROOT-${DATE}-${git_version} && \
rm -rf $WEB_DIR/ROOT && \
ln -s /opt/ROOT-${DATE}-${git_version} $WEB_DIR/ROOT && \
pkill java && /soft/tomcat/bin/startup.sh"
done
} #3.调用
deploy () {
tar_code
scp_push_code
} deploy
git jenkins 部署java项目的更多相关文章
- jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)
jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...
- 通过Jenkins部署java项目
部署java项目-创建私有仓库 Jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是需要编译和打包的,一般情况下编译和打包都是用maven完成,所以系统环境中需要安装maven ...
- Win10搭建Jenkins部署Java项目(本机和远程Win10部署)
目录 一.前言&背景 二.环境准备 三.插件安装 四.全局配置 Maven JDK Git Maven 五.新建项目并配置 新建项目 配置 1.Discard old builds 2.Thi ...
- Docker使用jenkins部署java项目到远程linux(三)
实现功能:从本地提交代码到gogs上,本地的代码会被检测一遍 如果检测通过才能commit成功 然后可以继续执行push命令 .push后在gogs上使用web钩子自动推送到jenkins触发构建,j ...
- jenkins部署java项目
#########################################jenkins部署#################################3 一.jenkins是什么? J ...
- jenkins部署java项目到远程linux(四)
(1)新建java项目(maven构建) pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...
- jenkins部署java项目在本地(三)
(1)新建maven构建的java项目 pom.xml的配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...
- jenkins部署java项目(五)
一.web server安装jdk+tomcat其中jdk可以为openjdk,版本1.8 1.1 安装jdk环境 方式一:直接使用yum安装openjdk # * 方式二:本地安装在oracle官网 ...
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
随机推荐
- windows下安装spark
1.安装jdk 2.安装scala 3.下载spark spark下载地址 3.1安装spark 将下载的文件解压到一个目录,注意目录不能有空格,比如说不能解压到C:\Program Files 作者 ...
- 使用Nexus3搭建Maven私服
1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...
- Jmeter BeanShell 执行多次问题,每发送一次请求执行一次BeanShell问题
前言:(此问题耗时半天) 提供解决思路的博主又有新问题了. 如图所示,写了一个BeanShell从文件中去获取值之后给测试计划的变量赋值. 问题来了,当禁用b的情况下,a只执行一次.当启用b请求的情况 ...
- windows下配置多个tomcat步骤
步骤如下: 1.使用压缩版的tomcat不能使用安装版的.2.第一个tomcat的配置不变.3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址:增加环境变量CATALINA_BA ...
- Angular 自定义管道
管道的作用就是将原始值进行转化处理,转换为所需要的值: 1. 新建sex-reform.pipe.ts文件 ng g pipe sex-reform 2. 编辑sex-reform.pipe.ts文件 ...
- 死磕 java同步系列之终结篇
简介 同步系列到此就结束了,本篇文章对同步系列做一个总结. 脑图 下面是关于同步系列的一份脑图,列举了主要的知识点和问题点,看过本系列文章的同学可以根据脑图自行回顾所学的内容,也可以作为面试前的准备. ...
- .net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接
Hub的管理 重写OnConnectedAsync 从连接信息中获取UserId.Groups,ConnectId,并实现这三者的关系,存放于redis中 代码请查看 using CTS.Signal ...
- 《老师说的都对》第一次作业:OUC网上课程评价系统
项目介绍: 项目名称:OUC网上课程评价系统 项目概述:实现一个公开的网上课程评价系统.开课老师也可以在自己的课程主页填写自己的课程内容介绍,学生可以在课程页面中评价自己上过的课程.为想要选课的学生提 ...
- VS Code配置Go语言开发环境(建议使用goland)
VS Code是微软开源的一款编辑器,插件系统十分的丰富.本文就介绍了如何使用VS Code搭建Go语言开发环境. VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论 ...
- Android适配总结
1.dp与px的 密度类型 代表的分辨率 屏幕密度 换算 比例 低密度(ldpi) 240x320 120 1dp=0.75px 3 中密度(mdpi) 320x480 160 1dp = 1px 4 ...