拉取代码并打包
备份原程序(因为到当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
到这个文件里面找到免密并输入
这个是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命令去拉取代码
添加凭据
填写好用户名和密码后点击添加
选择刚才添加的凭据,再生成流水线
将生成的流水线脚本路径写到此处,即可拉取成功
成功



