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

通过Jenkins发布Java项目到目标主机上

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

通过Jenkins发布Java项目到目标主机上

文章目录
  • 一、用Jenkins发布一个项目
  • 二、用命令拉取java项目
    • 手动部署
    • 自动部署
      • 1、公有仓库部署
      • 2、私有仓库部署

一、用Jenkins发布一个项目

创建项目




点击完应用之后点击save保存,项目就创建完成了

创建完项目之后点击构建就会显示效果


绿色代表成功,点击log可以查看日志



查看输出

下面还有个流水线步骤,告诉你一步一步的该做什么

点击回放,可以查看脚本的语法

二、用命令拉取java项目 手动部署

Jenkins发布项目
克隆项目地址

主机名字IP职责
manage/客户端192.168.91.134Jenkins+gitee
server/服务端192.168.91.35tomcat

tomcat部署博客

[root@manage ~]#  yum -y install git maven
[root@manage ~]# cd /opt/

// 克隆项目
[root@manage opt]# git clone https://gitee.com/forgotten/tomcat-java-demo.git

// 打包成war包
[root@manage tomcat-java-demo]# cd tomcat-java-demo/
[root@manage tomcat-java-demo]# mvn package -Dmaven.test.skip=true
[root@manage tomcat-java-demo]# ls
Dockerfile  README.md  deploy.yaml  pom.xml  target
LICENSE     db         jenkinsfile  src

[root@manage tomcat-java-demo]# cd target/
[root@manage target]# ls
classes
generated-sources
ly-simple-tomcat-0.0.1-SNAPSHOT
ly-simple-tomcat-0.0.1-SNAPSHOT.war
maven-archiver
maven-status

// 包名过长,修改名字
[root@manage target]# mv ly-simple-tomcat-0.0.1-SNAPSHOT.war myapp.war
[root@manage target]# ls
classes                          maven-archiver
generated-sources                maven-status
ly-simple-tomcat-0.0.1-SNAPSHOT  myapp.war

// 备份文件
[root@manage target]# cp -r /usr/local/tomcat/webapps/ /opt/
[root@manage target]# ls /opt/
tomcat-java-demo  webapps


// 做免密登录
[root@manage target]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
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:vjL17Ql28yQICvvXdW7rZwwFan/2Yi5Nci1YFtR2R20 root@manage
The key's randomart image is:
+---[RSA 3072]----+
|             ..oo|
|              o E|
|             . =o|
|            o o .|
|    .   S  . = o |
|     o o.. .+ B +|
|    . ...o+o+B.*.|
|     .o .oooo** =|
|      .+.  .o*== |
+----[SHA256]-----+

[root@manage target]# ssh-copy-id root@192.168.91.135
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.91.135 (192.168.91.135)' can't be established.
ECDSA key fingerprint is SHA256:KFiIOIWcPnGezVy7tHXuBYveeiysn0kVedxN8fU+XjM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/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.91.135's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.91.135'"
and check to make sure that only the key(s) you wanted were added.

// 传输
[root@server ~]# ls /usr/local/tomcat/webapps/
ROOT  amu  docs  examples  host-manager  manager

[root@manage target]# scp myapp.war root@192.168.91.135:/usr/local/tomcat/webapps/
myapp.war                 100%   17MB 130.1MB/s   00:00    

// 传输过去的war包会自动解压
[root@server ~]# cd /usr/local/tomcat/webapps/
[root@server webapps]# ls
ROOT  docs      host-manager  myapp
amu   examples  manager       myapp.war

访问myapp页面

项目部署成功

自动部署 1、公有仓库部署

点击demo

点击配置


下载包位置

流水线脚本配置

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                // Get some code from a GitHub repository
                git "https://gitee.com/jinchenghe92/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{
                //sh "root@192.168.91.135 'tar Jcf /opt/backup/myapp-$(date +%Y%m%d).tar.xz /usr/local/tomcat/webapps/myapp'"                // 备份数据
                sh "scp target/myapp.war root@192.168.91.135:/usr/local/tomcat/webapps/" // 传输包
                sh "ssh root@192.168.91.135 '/usr/local/tomcat/bin/catalina.sh stop;sleep 3;/usr/local/tomcat/bin/catalina.sh start'"      // 重启服务
            }
        }
        
        
    }
}

然后点击应用之后保存

进行构建,绿色就是访问成功了

2、私有仓库部署

gitee使用介绍

点击管理进入配置设置私有仓库

流水线脚本配置

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                // Get some code from a GitHub repository
                git credentialsId: '3096bfc5-8973-45b8-8070-7db925c5b544', url: 'https://gitee.com/amxnh/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{
                //sh "root@192.168.91.135 'tar Jcf /opt/backup/myapp-$(date +%Y%m%d).tar.xz /usr/local/tomcat/webapps/myapp'"                // 备份数据
                sh "scp target/myapp.war root@192.168.91.135:/usr/local/tomcat/webapps/" // 传输包
                sh "ssh root@192.168.91.135 '/usr/local/tomcat/bin/catalina.sh stop;sleep 3;/usr/local/tomcat/bin/catalina.sh start'"      // 重启服务
            }
        }
        
        
    }
}

私有仓库拉取代码


将生成的用户名和密码脚本带入到流水线脚本中即可

最后进行构建,绿色就是成功了

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

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

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