java项目代码上线
java项目代码上线
1:java项目代码上线架构图

ip地址及主机名规划
10.0.0.11 deploy
10.0.0.12 tomcat-web01
10.0.0.13 git.oldboyedu.com
资料包下载地址:链接:https://pan.baidu.com/s/1YIgnUOkWLtp-LoQpIt-qVg 提取码:mpjb
2:部署gitlab服务器并上传代码
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.4.5-ce.0.el7.x86_64.rpm
yum localinstall gitlab-ce-11.4.5-ce.0.el7.x86_64.rpm -y
vim /etc/gitlab/gitlab.rb
external_url 'http://git.oldboyedu.com'
gitlab-ctl reconfigure
上传项目代码到gitlab
rz jeesns.tar.gz
tar xf jeesns.tar.gz
cd jeesns/
rm -fr .git*
git init
git remote add origin http://git.oldboyedu.com/root/jeesns.git
git add *
git commit -m '初始提交'
git push -u origin master
3:部署tomcat服务器和数据库
rz jdk-8u102-linux-x64.rpm
rz apache-tomcat-8.0.27.tar.gz
rpm -ivh jdk-8u102-linux-x64.rpm
mkdir /application/
tar zvxf apache-tomcat-8.0.27.tar.gz -C /application/
mv /application/apache-tomcat-8.0.27 /application/tomcat
#tomcat启动加速的方法
vim /usr/java/jdk1.8.0_102/jre/lib/security/java.security
修改117行为:securerandom.source=file:/dev/urandom
/application/tomcat/bin/startup.sh
为项目准备好数据库jeesns,设置数据库root用户密码为root
yum install mariadb-server -y
mysql_secure_installation
mysqladmin -uroot password 'root'
mysql -uroot -proot -e 'create database jeesns;'
4:安装maven
rz jdk-8u102-linux-x64.rpm
rpm -ivh jdk-8u102-linux-x64.rpm
wget https://mirror.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
tar xf apache-maven-3.6.0-bin.tar.gz
mv apache-maven-3.6.0 /usr/local/
ln -s /usr/local/apache-maven-3.6.0 /usr/local/maven
vim /etc/profile
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:$PATH
source /etc/profile
mvn -v
5:编译和部署(上线)
a:代码拉取
#需要在gitlab中添加密钥对
git clone git@git.oldboyedu.com:root/jeesns.git
b:编译项目代码
cd jeesns/
mvn clean package
c:数据库升级
yum install sshpass -y
sshpass -p123456 scp /opt/jeesns/jeesns-web/database/jeesns.sql root@10.0.0.12:/tmp
sshpass -p123456 ssh root@10.0.0.12 'mysql -uroot -proot jeesns </tmp/jeesns.sql'
d:远程推送war包
sshpass -p123456 ssh root@10.0.0.12 'mv /application/tomcat/webapps/* /opt'
sshpass -p123456 scp -rp /opt/jeesns/jeesns-web/target/jeesns-web.war 10.0.0.12:/application/tomcat/webapps/ROOT.war
测试访问:

把上面的第五步(编译和部署)用shell脚本来实现,这个脚本就是shell自动化上线脚本
把上面的第五步用jenkins来实现,即jenkins+gitlab代码自动上线。
java项目代码上线的更多相关文章
- Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)
这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) ...
- 用maven来创建scala和java项目代码环境(图文详解)(Intellij IDEA(Ultimate版本)、Intellij IDEA(Community版本)和Scala IDEA for Eclipse皆适用)(博主推荐)
不多说,直接上干货! 为什么要写这篇博客? 首先,对于spark项目,强烈建议搭建,用Intellij IDEA(Ultimate版本),如果你还有另所爱好尝试Scala IDEA for Eclip ...
- Jenkins+Gradle+Sonar进行Java项目代码分析
Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...
- Jenkins与网站代码上线解决方案
1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ...
- Jenkins与网站代码上线解决方案【转】
转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工 ...
- Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案
第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...
- 企业SVN版本管理与代码上线方案
1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ...
- SVN版本管理与大型代码上线方案(一)
SVN版本管理与大型代码上线方案(一) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...
- Spring Boot框架开发的Java项目在CentOS7上的部署
需求:上级拿来一份Spring Boot框架开发的Java项目代码让我在服务器上运行起来,只说了一句该框架是自带了Tomcat(不用重新安装Tomcat),一份代码下有两个项目(一个管理端项目,一个用 ...
随机推荐
- Python_列表操作2
1.使用sort()方法对列表进行永久性排序: colorsList=['hong','cheng','huang','lv'] colorsList.sort() #正序排序 print(color ...
- Qt命名规范
1) 类名:单词首字母大写,单词和单词之间直接连接,无需连接字符 如: MyClass,QPushButton class MainWindow { }; 2) 函数名字,变量名:第二个单词开始(不是 ...
- WPYOU主题加密码代码的解码
我手上管理一个公司的wordpress网站的主题用的是wpyou的主题,但是在网站有安全隐患的情况下,看到wpyou有把代码进行加密过. 这种加密代码的行为,会被D盾认为是后门,所以一度觉得其文件和代 ...
- h5中hash的用法实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mysql占用内存过高调优方法
最近测试一个站点,用mysql 5.6+mencache 内存16GB,但是进行查询的时候还是导致CPU占用过高,达到80%左右,所以想办法如何进行调优.以下几个参数进行参考选择 优化mysql数据 ...
- 学习Kubernetes,这些负载均衡知识点得知道!
负载均衡 负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障. 一个没有使用负载均衡的Web架构一般会长得像这样: ...
- 《转》BAT批处理教程
第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...
- JQuery购物车多物品数量的加减+总价计算
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 洛谷 P2827 蚯蚓 题解
每日一题 day32 打卡 Analysis 我们可以想一下,对于每一秒除了被切的哪一个所有的蚯蚓都增长Q米,我们来维护3个队列,队列1表示最开始的蚯蚓,队列2表示每一次被切的蚯蚓被分开的较长的那一部 ...
- Kafka 基础操作
cd /root/kafka/kafka_2.10-0.8.2.2/bin 1.查看kafka topic kafka-topics.sh --list --zookeeper 172.16.100. ...