Java程序发布步骤:

拉取代码并打包
备份原程序(因为到当war包放在tomcat目录后他会自动解压)
拷贝新程序到服务器的web apps目录中,然后修改配置
重启tomcat服务
进行验证

案例

先新建一个项目

用java向别人电脑发送 怎么把java工程发给别人_java


用java向别人电脑发送 怎么把java工程发给别人_apache_02


脚本的使用方式

用java向别人电脑发送 怎么把java工程发给别人_java_03


这里使用hello world脚本的演示,点击保存并应用即可,它就会自动输出hello world

用java向别人电脑发送 怎么把java工程发给别人_tomcat_04


用java向别人电脑发送 怎么把java工程发给别人_jenkins_05


用java向别人电脑发送 怎么把java工程发给别人_apache_06


用java向别人电脑发送 怎么把java工程发给别人_apache_07


用java向别人电脑发送 怎么把java工程发给别人_用java向别人电脑发送_08

主机

IP

Jenkins

192.168.71.134

server

192.168.71.138

在Jenkins主机上部署Jenkins,server主机上部署tomcat
因为Jenkins需要tomcat。而tomcat需要安装Java环境
[root@jenkins ~]# yum -y install java-11-openjdk-devel.x86_64
下载tomcat
[root@jenkins ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/
解压tomcat到/usr/local目录下
[root@jenkins ~]# tar xf apache-tomcat-9.0.54.tar.gz -C /usr/local/

将apache-tomcat-9.0.54改为Jenkins
[root@jenkins local]# mv apache-tomcat-9.0.54/ tomcat

下载Jenkins,去官网下载:https://www.jenkins.io/zh/download/

[root@jenkins ~]# wget http://mirrors.jenkins.io/war-stable/2.303.2/jenkins.war

将下载好的war包移到当前目录
[root@jenkins webapps]# pwd
/usr/local/jenkins/webapps

在移到当前目录之前将除ROOT以外的所有文件及目录,因为这个tomcat是给Jenkins使用的所以只需要留ROOT目录
[root@jenkins webapps]# mv /root/jenkins.war ./
移到当前目录后war包会自动解压
[root@jenkins webapps]# rm -rf docs  examples  host-manager  manager

启动服务
[root@jenkins bin]# pwd
/usr/local/jenkins/bin
[root@jenkins bin]# ./catalina.sh start

在浏览器输入IP地址加端口号和jenkins
到这个文件里面找到免密并输入

用java向别人电脑发送 怎么把java工程发给别人_apache_09


用java向别人电脑发送 怎么把java工程发给别人_tomcat_10

server配置

这个是tomcat的官网:https://archive.apache.org/dist/tomcat/去下载即可

下载tomcat的tar包
[root@server ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/

解压tar包
[root@server ~]# tar xf apache-tomcat-9.0.54.tar.gz -C /usr/local/

为方便后面的操作将apache-tomcat-9.0.54改为tomcat
[root@server local]# mv apache-tomcat-9.0.54/ tomcat

因为tomca需要Java环境所以需要先安装java
[root@server ~]# yum -y install java-11-openjdk-devel.x86_64

配置tomcat的service文件,让其开机自启
[root@server system]# systemctl daemon-reload 
[root@server system]# systemctl enable --now tomcat.service 
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /usr/lib/systemd/system/tomcat.service.
[root@server system]# pwd
/usr/lib/systemd/system

[root@server system]# cat tomcat.service 
[Unit]
Description=tomcat server daemon
After=network.target 

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

[root@server system]# systemctl status tomcat.service 
● tomcat.service - tomcat server daemon
   Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor prese>
   Active: active (running) since Tue 2021-10-19 19:09:33 CST; 52s ago
  Process: 547856 ExecStart=/usr/local/tomcat/bin/catalina.sh start (code=exited>
 Main PID: 547868 (java)

配置好之后就执行第一步拉取代码

先下载git命令用来拉取代码
[root@jenkins ~]# yum -y install git
[root@jenkins ~]# git clone https://gitee.com/jinchenghe92/tomcat-java-demo.git

第二步打包代码

先下载mvn命令
[root@jenkins tomcat-java-demo]# yum -y install maven
[root@jenkins tomcat-java-demo]# mvn clean package
打包之后他就会生成一个tar包
[root@jenkins tomcat-java-demo]# ls 
db           Dockerfile   LICENSE  README.md  target
deploy.yaml  jenkinsfile  pom.xml  src

[root@jenkins target]# pwd
/opt/tomcat-java-demo/target
[root@jenkins target]# mv ly-simple-tomcat-0.0.1-SNAPSHOT.war myapp.war   //改名字为了方便后面的操作

做免密登录
[root@jenkins target]#  ssh-keygen -t rsa  //一路回车即可
[root@jenkins target]# ssh-copy-id root@192.168.182.142
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.182.142's password:   //输入对端主机的密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.182.142'"
and check to make sure that only the key(s) you wanted were added.

再将包传到对端主机上
[root@jenkins target]# scp myapp.war root@192.168.182.142:/usr/local/tomcat/webapps/
传到此目录后会自动解压
[root@server webapps]# ls | grep myapp
myapp
myapp.war

用java向别人电脑发送 怎么把java工程发给别人_jenkins_11


在Jenkins的web界面进行自动发布

选择GitHub

用java向别人电脑发送 怎么把java工程发给别人_jenkins_12


用java向别人电脑发送 怎么把java工程发给别人_java_13


用java向别人电脑发送 怎么把java工程发给别人_java_14


保存并应用

用java向别人电脑发送 怎么把java工程发给别人_apache_15


点击构建,绿色代表成功

用java向别人电脑发送 怎么把java工程发给别人_jenkins_16


打包成功之后将包放在下面的目录下

[root@jenkins ~]# cd /root/.jenkins/workspace/first/target/
[root@jenkins target]# ls
classes            ly-simple-tomcat-0.0.1-SNAPSHOT      maven-archiver
generated-sources  ly-simple-tomcat-0.0.1-SNAPSHOT.war  maven-status

备份原程序

创建目录用来存放备份的包
[root@server webapps]# mkdir /opt/packages
[root@server webapps]# tar -Jcf /opt/packages/myapp-$(date +%Y%m%d%H%M).tar.xz /usr/local/tomcat/webapps/myapp

用java向别人电脑发送 怎么把java工程发给别人_java_17


刷新界面访问

用java向别人电脑发送 怎么把java工程发给别人_apache_18


流水线的语法

可以通过这个git命令去拉取代码

用java向别人电脑发送 怎么把java工程发给别人_jenkins_19


用java向别人电脑发送 怎么把java工程发给别人_java_20


用java向别人电脑发送 怎么把java工程发给别人_tomcat_21


添加凭据

用java向别人电脑发送 怎么把java工程发给别人_jenkins_22


填写好用户名和密码后点击添加

用java向别人电脑发送 怎么把java工程发给别人_tomcat_23


选择刚才添加的凭据,再生成流水线

用java向别人电脑发送 怎么把java工程发给别人_用java向别人电脑发送_24


将生成的流水线脚本路径写到此处,即可拉取成功

用java向别人电脑发送 怎么把java工程发给别人_apache_25


成功

用java向别人电脑发送 怎么把java工程发给别人_jenkins_26


用java向别人电脑发送 怎么把java工程发给别人_tomcat_27