文章詳情頁
使用jenkins將項目部署到另一臺主機的過程
瀏覽:180日期:2023-03-19 16:51:43
環境
主機名 ip地址 服務 jenkins 192.168.216.200 tomcat、jenkins server 192.168.216.215 tomcat
//關閉防火墻selinux//安裝打包命令,git[root@jenkins ~]# yum -y install maven[root@jenkins ~]# yum -y install git//配置免密登錄[root@localhost ~]# ssh-keygen Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): 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:npcyZyHpOPmqGL1nbpZRj7UYULZxJhvNIcDg2G9Qvso [email protected] key"s randomart image is:+---[RSA 3072]----+| .oooBo+. || + oo. Xo || . + ..o|| o .o.. || +.S*.. || o o.=oooo || . E +o* = || o .*o * || . oBo..|+----[SHA256]-----+[root@localhost ~]# ssh-copy-id [email protected]/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 [email protected]"s password: Number of key(s) added: 1Now try logging into the machine, with: "ssh "[email protected]""and check to make sure that only the key(s) you wanted were added.[root@localhost ~]# ssh [email protected] login: Wed Oct 20 11:03:43 2021 from 192.168.216.200[root@localhost ~]# exit登出Connection to 192.168.216.215 closed.
進入jenkins端
pipeline { agent any stages {stage("Build") { steps {// Get some code from a GitHub repositorygit "https://gitee.com/forgotten/tomcat-java-demo.git" #下載包,確保主機上有git命令// Run Maven on a Unix agent.sh "mvn -Dmaven.test.failure.ignore=true clean package" #打包成war包sh "mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war" #更改包名// To run Maven on a Windows agent, use// bat "mvn -Dmaven.test.failure.ignore=true clean package" } }stage("publish"){ steps{sh "ssh [email protected] "tar -Jcf /opt/backup/webapps-\$(date +%Y-%m%d).tar.xz /usr/local/tomcat/webapps/*"" #備份原有的項目sh "scp target/myapp.war [email protected]:/usr/local/tomcat/webapps/" #傳包到目標主機sh "ssh [email protected] "/usr/local/tomcat/bin/catalina.sh stop;sleep 3;/usr/local/tomcat/bin/catalina.sh start"" # 重啟生成項目 }} }}
去目標主機驗證
手動部署
//關閉防火墻,selinux//確保git命令存在,拉取部署的項目包[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 | 673.00 KiB/s, 完成.處理 delta 中: 100% (217/217), 完成.[root@jenkins opt]# lstomcat-java-demo// 打包,確保mvn命令存在[root@jenkins opt]# cd tomcat-java-demo/[root@jenkins tomcat-java-demo]# lsdb Dockerfile LICENSE README.mddeploy.yaml jenkinsfile pom.xml src // 只要是帶pom.xml這樣文件的都是用mvn打包[root@jenkins tomcat-java-demo]# mvn clean package[root@jenkins tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war[root@jenkins tomcat-java-demo]# ls target/classes ly-simple-tomcat-0.0.1-SNAPSHOT maven-statusgenerated-sources maven-archiver myapp.war// 確保有免密登錄,通過ssh啟動server端tomcat,然后把要部署的包傳過去[root@jenkins tomcat-java-demo]# scp target/myapp.war [email protected]:/usr/local/tomcat/webapps///tomcat會自動解壓,過一會進入網站對應目錄就能看到新部署的項目
到此這篇關于使用jenkins將項目部署到另一臺主機的文章就介紹到這了,更多相關jenkins項目部署另一臺主機內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
標簽:
Tomcat
排行榜