java 程序发布步骤:
1、拉取代码并打包
2、备份源程序
3、拷贝新程序到服务器的webapps目录中,停一会修改配置
4、重启tomcat
5、验证
手动部署
//安装包
[root@Jenkins ~]# yum -y install git
[root@Jenkins ~]# yum -y install maven
//拉代码
[root@Jenkins ~]# cd /opt/
[root@Jenkins opt]# ls
[root@Jenkins opt]# git clone https://gitee.com/forgotten/tomcat-java-demo.git
正克隆到 'tomcat-java-demo'...
remote: Enumerating objects: 558, done.
remote: Counting objects: 100% (558/558), done.
remote: Compressing objects: 100% (316/316), done.
remote: Total 558 (delta 217), reused 558 (delta 217), pack-reused 0
接收对象中: 100% (558/558), 5.08 MiB | 692.00 KiB/s, 完成.
处理 delta 中: 100% (217/217), 完成.
[root@Jenkins opt]# ls
tomcat-java-demo
[root@Jenkins opt]#
//打包
[root@Jenkins opt]# cd tomcat-java-demo/
[root@Jenkins tomcat-java-demo]# ls
db deploy.yaml Dockerfile jenkinsfile LICENSE pom.xml README.md src
[root@Jenkins tomcat-java-demo]# mvn clean package
[root@Jenkins tomcat-java-demo]# ls
db deploy.yaml Dockerfile jenkinsfile LICENSE pom.xml README.md src target
[root@Jenkins tomcat-java-demo]# ls target/
classes ly-simple-tomcat-0.0.1-SNAPSHOT maven-archiver
generated-sources ly-simple-tomcat-0.0.1-SNAPSHOT.war maven-status
[root@Jenkins tomcat-java-demo]#
//修改包名
[root@Jenkins tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/mywxy.war
[root@Jenkins tomcat-java-demo]# ls target/
classes ly-simple-tomcat-0.0.1-SNAPSHOT maven-status
generated-sources maven-archiver mywxy.war
//免密登录
[root@Jenkins ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dOx74flZf6FbewlpTyk04h40mhVwwpU1XkDeK+SAM18 root@Jenkins
The key's randomart image is:
+---[RSA 3072]----+
| .ooo+=.. |
| o+oo + |
| .+o..E . |
| . o+==o .|
| S B.=oo..|
| o = B.+ |
| o * *.+|
| o o.==|
| .+.+|
+----[SHA256]-----+
[root@Jenkins ~]# ssh-copy-id 192.168.235.155
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.235.155 (192.168.235.155)' can't be established.
ECDSA key fingerprint is SHA256:SYE4sY5pR2aCmZV6JqXCtCbMFPNKU1R9ID9zX9AvPr4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/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.235.155's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.235.155'"
and check to make sure that only the key(s) you wanted were added.
[root@Jenkins tomcat-java-demo]# scp target/mywxy.war root@192.168.235.155:/usr/local/tomcat/webapps/
mywxy.war 100% 17MB 48.6MB/s 00:00
[root@server ~]# ls /usr/local/tomcat/webapps/
mywxy mywxy.war
通过Jenkins自动发布
接收端创建一个文件夹来存放备份文件
[root@server ~]# mkdir /opt/backup
[root@server ~]# ls /opt/backup/
脚本:
pipeline {
agent any
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git 'https://gitee.com/forgotten/tomcat-java-demo.git'
// Run Maven on a Unix agent.
sh "mvn -Dmaven.test.failure.ignore=true clean package"
sh "mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/mywxy.war"
// To run Maven on a Windows agent, use
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
}
}
stage("publish"){
steps{
sh "ssh root@192.168.235.155 tar -Jcf /opt/backup/mywxy-\$(date +%Y%m%d).tar.xz /usr/local/tomcat/webapps/mywxy"
sh "scp target/mywxy.war root@192.168.235.155:/usr/local/tomcat/webapps/"
sh "ssh root@192.168.235.155 '/usr/localtomcat/bin/catalina.sh stop;sleep 3;/usr/local/tomcat/bin/catalina.sh start'"
}
}
}
}
访问: