栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

通过Jenkins发布Java项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过Jenkins发布Java项目

通过Jenkins发布Java项目
  • 1. Java程序发布步骤:
  • 2. 首先新建一个项目
  • 3. 自动发布
    • 3.1 安装配置环境
    • 3.2 拉取代码
    • 3.2.1 打包代码
    • 3.3 在Jenkins的web界面进行自动发布
  • 4. 备份原程序
  • 5. 流水线的语法

1. Java程序发布步骤:
  1. 拉取代码并打包
  2. 备份原程序(因为到当war包放在tomcat目录后他会自动解压)
  3. 拷贝新程序到服务器的web apps目录中,然后修改配置
  4. 重启tomcat服务
  5. 进行验证
2. 首先新建一个项目

给任务起一个名字,这个名字随意,再选择流水线点击确定。

这里有使用脚本的方式

这里使用hello world脚本的演示,点击保存并应用即可,它就会自动输出hello world

点击此处执行

点击任务名查看执行的状态

success表示任务执行成功,logs查看任务执行的结果

上面是演示的例子,下面讲一下该如何自动发布,自动发布的前提是手动发布。

3. 自动发布

环境说明

主机IP
Jenkins192.168.182.141
server192.168.182.142
3.1 安装配置环境
在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)
3.2 拉取代码
// 配置好之后就执行第一步拉取代码
先下载git命令用来拉取代码
[root@jenkins ~]# yum -y install git
[root@jenkins ~]# git clone https://gitee.com/jinchenghe92/tomcat-java-demo.git
3.2.1 打包代码
先下载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

看到此界面说发布成功

3.3 在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
4. 备份原程序
创建目录用来存放备份的包
[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

点击保存并应用

点击立即构建,看到绿色的说明成功

刷新一下界面能正常访问

5. 流水线的语法

可以通过这个git命令去拉取代码

如果使用的代码仓库时私有的需要写用户名和密码,这样为了安全

需要添加一个凭据

填写好用户名和密码后点击添加

选择刚才添加的凭据,再生成流水线

将刚才生成的流水线脚本的路径写到此处,即可拉取成功

拉取成功

在此处可以看到用户凭据,这个凭据和我们流水线生成的一样

依然能访问

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/590938.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号