通过jenkins发布java项目到另一台主机
Java程序发布步骤:拉取代码并打包备份原程序(因为到当war包放在tomcat目录后他会自动解压)拷贝新程序到服务器的web apps目录中,然后修改配置重启tomcat服务进行验证案例先新建一个项目脚本的使用方式这里使用hello world脚本的演示,点击保存并应用即可,它就会自动输出hello world主机IPJenkins192.168.71.134server192.168.71.1
·
Java程序发布步骤:
拉取代码并打包
备份原程序(因为到当war包放在tomcat目录后他会自动解压)
拷贝新程序到服务器的web apps目录中,然后修改配置
重启tomcat服务
进行验证
案例
先新建一个项目
脚本的使用方式
这里使用hello world脚本的演示,点击保存并应用即可,它就会自动输出hello world
主机 | 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
到这个文件里面找到免密并输入
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
在Jenkins的web界面进行自动发布
选择GitHub
保存并应用
点击构建,绿色代表成功
打包成功之后将包放在下面的目录下
[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
刷新界面访问
流水线的语法
可以通过这个git命令去拉取代码
添加凭据
填写好用户名和密码后点击添加
选择刚才添加的凭据,再生成流水线
将生成的流水线脚本路径写到此处,即可拉取成功
成功
更多推荐
所有评论(0)