- 使用jenkins部署项目到对端主机
- 1. 部署环境
- 2. jenkins部署项目(手动部署)
- 3. jenkins部署项目(自动部署)
- 4. 通过代码仓库部署项目(有密码)
| 主机 | IP地址 | 主机上所有的服务 |
|---|---|---|
| jenkins | 192.168.200.151 | tomcat、jenkins |
| test | 192.168.200.144 | tomcat |
//先下载git工具和打包工具 [root@jenkins opt]# -y install maven git //在github上克隆一个Java项目到本机opt目录里 [root@jenkins opt]# git clone https://gitee.com/caimengzhi/tomcat-java-demo.git [root@jenkins opt]# ls tomcat-java-demo //把java项目进行打包 [root@jenkins tomcat-java-demo]# mvn clean package [root@jenkins tomcat-java-demo]# ls jenkins 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 ~]# ssh-keygen -t rsa [root@jenkins ~]# ssh-copy-id root@192.168.200.151 //把项目传到对端主机 [root@jenkins opt]# scp tomcat-java-demo/target/ly-simple-tomcat-0.0.1-SNAPSHOT.war root@192.168.200.151:/usr/local/tomcat/webapps/ ly-simple-tomcat-0.0.1-SNAPSHOT.war 100% 21MB 166.7MB/s 00:00 [root@jenkins opt]# //在对端主机查看,发现以及解压好了 [root@localhost webapps]# ls docs ly-simple-tomcat-0.0.1-SNAPSHOT ROOT examples ly-simple-tomcat-0.0.1-SNAPSHOT.war host-manager manager [root@localhost webapps]# mv ly-simple-tomcat-0.0.1-SNAPSHOT mydemo //重启tomcat [root@localhost webapps]# /usr/local/tomcat/bin/shutdown.sh stop [root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh start [root@localhost webapps]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 100 *:8080 *:*3. jenkins部署项目(自动部署)
先创建一个项目
编写的脚本
pipeline {
agent any
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git "https://gitee.com/cai-aocheng/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/myapp.war"
// To run Maven on a Windows agent, use
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
}
}
stage("publish"){
steps{
//ssh root@192.168.200.144 'tar -Jcf /opt/backup/myapp-$(date +%Y%m%d).tar.xz /usr/local/tomcat/webapps/myapp'
sh "scp target/myapp.war root@192.168.200.144:/usr/local/tomcat/webapps/"
sh "ssh root@192.168.200.144 '/usr/localtomcat/bin/catalina.sh stop;sleep 3;/usr/local/tomcat/bin/catalina.sh start'"
}
}
}
}
添加所myapp项目名访问(没有配置数据库)



