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'"
}
}
}
}
访问:



