③jenkins企业必会技能,部署应用Jenkins+Gitiee+Tomcat实战

2024-04-04 12:38

本文主要是介绍③jenkins企业必会技能,部署应用Jenkins+Gitiee+Tomcat实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 邮箱配置(可选)
    • 思路图
    • 添加后端服务器
    • 配置JDK和Maven
    • 构建发布任务
    • 后端服务器添加脚本
    • 调用maven打包命令
    • 启用邮箱
    • 构建项目

②jenkins企业必会技能,重要提示,jenkins服务器上面,必须安装git工具

邮箱配置(可选)

安装邮件插件,才能确保邮件发送成功。否则可能不会发送邮件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
邮箱名称
在这里插入图片描述
邮箱授权码
在这里插入图片描述
在这里插入图片描述
找不到 点击右边的高级
在这里插入图片描述
可以测试一下
在这里插入图片描述
可看到邮箱确实接收到了邮件,则配置成功;

当然邮箱能接收到邮件的前提是,邮箱要开启smtp服务
在这里插入图片描述
上面邮箱配置完拉 下面就是实战 配置自动打包压缩发送war包

思路图

在这里插入图片描述
先给自己配置一个私钥

[root@jenkins ~]# ssh-keygen
[root@jenkins ~]# cat /root/.ssh/id_rsa

在这里插入图片描述
把安装jenkins的机器上面的私钥粘贴复制过来
在这里插入图片描述

添加后端服务器

想一下,你jienkins 给后面另一台虚拟机tomcat端发送包,需要进行免密,
在这里插入图片描述

公钥发送到后端服务器,才能实现免密;
[root@jenkins ~]# ssh-copy-id -i root@192.168.153.194

接着配置jenkins
在这里插入图片描述

配置JDK和Maven

虽然Jenkins服务器上,已经安装了JDK和maven工具,但是,还需要在Jenkins服务中,进行配置;

这样Jenkins才能自动化的使用两个工具;
在这里插入图片描述
jdk安装包
在这里插入图片描述
取消自动安装,因为我们上面进行war包安装,自己安装的有jdk
我们只需要把文件路径写上就可以
在这里插入图片描述
查看并复制路径
在这里插入图片描述
在这里插入图片描述
maven 编译安装打包软件
在这里插入图片描述
在这里插入图片描述
如果有多个jdk和maven需要配置的话,可以点击新增jdk或者新增maven;

构建发布任务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
git@gitee.com:tianqingyuxi/ming.git
这里是我再gitiee上,找的一个测试的小项目。能进行编译打包
在这里插入图片描述
克隆信息填写上面,图片上面是其他项目名字
在这里插入图片描述
脚本存放的路径
在这里插入图片描述
如果有多个后端服务器,可以点击 ADD server进行添加;

后端服务器添加脚本

第二台机器,上面要安装tomcat,以及环境 jdk
还有 检测脚本的

我这里把tomcat 安装到自定义的目录下来
jdk 我就正常解压 然后配置环境变量

[root@java-server ~]# mkdir -p /data/application
上传jdk
[root@java-server ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/
[root@java-server ~]# cd /usr/local/
[root@java-server local]# mv jdk1.8.0_191/ java

下载tomcat,看仔细tomcat是从新创建了一个目录

[root@java-server ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz
[root@java-server ~]# tar xzf apache-tomcat-8.5.42.tar.gz -C /data/application/
[root@java-server ~]# cd /data/application/
[root@java-server application]# mv apache-tomcat-8.5.42/ tomcat

设置环境变量

[root@java-server ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/data/application/tomcat
[root@java-server ~]# source /etc/profile
测试:
[root@java-server ~]# java -version 

删除tomcat默认发布目录下面的内容:

[root@java-server ~]# rm -rf /data/application/tomcat/webapps/*
[root@java-server ~]# cd /data/application/tomcat/webapps/
[root@java-server webapps]# ls

创建目录和脚本:

[root@java-server ~]# mkdir /opt/script  #创建脚本目录
[root@java-server ~]# vim /opt/script/app-jenkins.sh   #创建脚本
脚本内容在后面:
[root@java-server ~]# chmod +x app-jenkins.sh  #添加执行权限

脚本内容:# cat app-jenkins.sh

#!/usr/bin/bash
#本脚本适用于jenkins持续集成,实现备份war包到代码更新上线!使用时请注意全局变量。
#================
#Defining variables
export JAVA_HOME=/usr/local/java
webapp_path="/data/application/tomcat/webapps"
tomcat_run="/data/application/tomcat/bin"
updata_path="/data/update/`date +%F-%T`"
backup_path="/data/backup/`date +%F-%T`"
tomcat_pid=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
files_dir="easy-springmvc-maven"
files="easy-springmvc-maven.war"
job_path="/root/upload"#Preparation environment
echo "Creating related directory"
mkdir -p $updata_path
mkdir -p $backup_pathecho "Move the uploaded war package to the update directory"
mv $job_path/$files $updata_pathecho "========================================================="
cd /opt
echo "Backing up java project"
if [ -f $webapp_path/$files ];thentar czf $backup_path/`date +%F-%H`.tar.gz $webapp_pathif [ $? -ne 0 ];thenecho "打包失败,自动退出"exit 1elseecho "Checking if tomcat is started"if [ -n "$tomcat_pid" ];thenkill -9 $tomcat_pidif [ $? -ne 0 ];thenecho "tomcat关闭失败,将会自动退出"exit 2fificd $webapp_pathrm -rf $files && rm -rf $files_dircp $updata_path/$files $webapp_pathcd /opt$tomcat_run/startup.shsleep 5echo "显示tomcat的pid"echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"echo "tomcat startup"echo "请手动查看tomcat日志。脚本将会自动退出"fi
elseecho "Checking if tomcat is started"if [ -n "$tomcat_pid" ];thenkill -9 $tomcat_pidif [ $? -ne 0 ];thenecho "tomcat关闭失败,将会自动退出"exit 2fificp $updata_path/$files $webapp_path$tomcat_run/startup.shsleep 5echo "显示tomcat的pid"echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"echo "tomcat startup"echo "请手动查看tomcat日志。脚本将会自动退出"
fi

调用maven打包命令

找这个位置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

启用邮箱

选择配置邮箱 可以接受消息
在这里插入图片描述

构建项目

在这里插入图片描述
可以查看工具条
在这里插入图片描述
下面就是拉取成功并发布
在这里插入图片描述
测试查看 ,输入第二天机器的ip后面加上目录
http://196.196.196.55:8080/easy-springmvc-maven/
在这里插入图片描述

这篇关于③jenkins企业必会技能,部署应用Jenkins+Gitiee+Tomcat实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/875802

相关文章

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现