Jekins实现自动化部署

1. Jenkins 安装启动

war包安装

下载脚本

#!/bin/bash
mkdir /opt/module/jenkins
cd /opt/module/jenkins
wget https://get.jenkins.io/war-stable/latest/jenkins.war # 版本2.277.4

启动脚本

cd /opt/module/jenkins
java -jar jenkins.war --httpPort=9090 #访问地址:http://localhost:9090

2. Jenkins 配置

JDK 配置

本地安装(推荐)

Dashboard->manage jenkins->Global Tool Configuration->JDK->JDK安装->不勾选 Install automatically->输入别名、JAVA_HOME

下载安装

Dashboard->manage jenkins->Global Tool Configuration->JDK->JDK安装->勾选 Install automatically

Maven 配置

本地安装(推荐)

Dashboard->manage jenkins->Global Tool Configuration->Maven->Maven安装->不勾选 Install automatically->输入name、MAVEN_HOME

下载安装

Dashboard->manage jenkins->Global Tool Configuration->Maven->Maven安装->勾选 Install automatically->选择安装方式

3. Jenkins 基本插件

SSH插件

安装

Dashboard->manage jenkins->manage plugins-> 可选插件->选中SSH plugin->Install without restart

凭证

Dashboard->manage jenkins->Manage Credentials->全局->添加凭据

用户和密码

输入用户名、密码、ID和描述

SSH用户和私钥

输入ID、描述、Username、Private Key->Enter directly->key->Add->私钥内容

SSH hosts

Dashboard->manage jenkins->Configure System->SSH remote hosts->新增->输入Hostname、Port、Credentials(选择上一步创建的凭据)、Check connection(会提示成功与否)、保存

Publish Over SSH

安装Publish Over SSH插件

Dashboard->manage jenkins->manage plugins-> 可选插件->选中Publish Over SSH->Install without restart

publish over SSH

Dashboard->manage jenkins->Configure System->publish over ssh->新增

配置SSH私钥

输入Passphrase(可选)、path to key(可选,私钥文件)、Key(可选,私钥内容)

添加一个或多个SSH Server

输入name、hostname、username、远程目录

4. 案例

自动部署Java maven 项目到远程主机

  1. Jenkins首页->新建Item->输入任务名称、选择freestyle project
  2. General选项卡->选中Discard old builds,输入保持构建的最大个数为5
  3. 源码管理选项卡->选择git->输入git仓库地址、创建git服务商凭据并选择、可以指定分支默认master
  4. 构建选项卡->添加构建步骤 选择Invoke top-level Maven targets->输入目标 clean package ->高级选项->POM输入pom.xml->设置maven settings.xml文件所在位置
  5. 构建后操作选项卡->增加构建后操作步骤 选择Send build artifacts over SSH->Add Server->选择Publish Over SSH中配置的SSH Server->添加Transfer Set->输入Source files、Remove Prefix、Remote directory、Exec command

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3中props的原理与使用

在Vue3中,props仍然是用来接收父组件传递给子组件的数据的。然而,在Vue3中,props的使用有一些变化。 定义props:在Vue3中,定义props需要使用defineProps函数,该函数接收一个对象作为参数,对象的…

vue3+elementPlus+cascader动态加载封装自定义组件+v-model指令实现父子通信

文章目录 select普通操作 (1)cascader操作(2) select普通操作 (1) 搜索条件需求:接口入参需要houseId,但是要先选择完楼栋,再选择单元,最后选择房屋 如图&a…

【C#】.net core 6.0 依赖注入生命周期

给自己一个目标,然后坚持一段时间,总会有收获和感悟! 对于.net core而言,依赖注入生命周期有三种瞬态(Transient)、作用域(Scoped)和单例(Singleton)&#xf…

数据结构-如何实现一个队列?逐步解析与代码示例(超详细)

文章目录 前言1.队列的基本概念2.链表与数组实现队列的区别2.1数据存储结构2.2性能2.3内存使用 3.为什么选择链表实现队列?4.结构定义函数声明 5.核心操作5.1初始化 (QInit)5.2销毁 (QDestroy)5.3入队 (QPush)5.4出队 (QPop) 6.队列的查询操作6.1队首元素 (QueueFro…

如何将语音版大模型AI接入自己的项目里(语音ChatGPT)

如何将语音版大模型AI接入自己的项目里语音ChatGPT 一、语音版大模型AI二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例5、智能生成API代码 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、语音版大模型AI 基于阿里通义千问、百…

分享5款实用的小工具,提升你的工作效率

​ 工作中,简单而实用的小工具能够为我们带来事半功倍的效果。这五款工具可能是你工作效率提升的关键。 1.云存储——Dropbox ​ Dropbox是一款流行的云存储服务,可以让你在不同的设备上同步和访问你的文件。你可以将你的文件上传到Dropbox的服务器上&…

绝缘电阻测试仪的测量范围有多少?它的测量方法是什么?

绝缘电阻测试仪广泛应用于设备检测和故障排除。它广泛应用于电力检测行业。甚至可以说,电力设备离不开绝缘电阻测试仪设备。对于许多经验丰富的电力测试工人来说,绝缘电阻测试仪的常规测量范围和方法应该非常清楚。在本文中,我们将向一些新的…

学之思开源考试系统是一款 java + vue 的前后端分离的考试系统

学生系统功能 模块介绍登录用户名、密码注册年级、用户名、密码任务中心管理员发布的年级任务,每个学生只能做一次考试题干支持文本、图片、数学公式、表格等,学生答题支持:文本固定试卷可重复练习、自行批改的试卷时段试卷在时间限制内&…

关于chatglm3 function calling的理解

ChatGLM3-6B开源了工具调用,好奇他是怎么实现的,所以写了这个文章记录。 一、测试官方的示例 官方给的示例很简单,只不过给的两个函数 track 和 text-to-speech 没有具体的实现,模型的输出也只是给出了需要调用的函数名和参数。剩…

【C语言】指针详解(四)

目录 1.assert断言 2.指针的使用和传址调用 2.1strlen的模拟使用 2.2传值调用和传址调用 1.assert断言 assert.h头文件定义了宏 assert(),用于在运行时确保程序符合指定条件,如果不符合,就报错终止运行。这个宏常常被称为“断言”。 例如…

多模态——CLIP:Contrastive Language-Image Pre-training解读

前言 随着人工智能技术的不断进步,多模态成为备受瞩目的研究方向。多模态技术旨在融合不同类型的数据和信息,以实现更准确、高效的人工智能应用。有学者认为它代表了所有模型发展的最终趋势。这类模型旨在接受多种不同的输入方式,例如图像、…

OpenStack搭建和部署

Centos官网qcow2镜像修改root账号密码,开启ssh等 wget http://172.16.20.10/vmtemplate/KVM/wangrui/Debian/debian-10.2.0-openstack-amd64.qcow2 一、查看镜像文件信息 [debian-10.2-cloud] nameDebian 10.2.0 (Buster) Cloud osinfodebian10 archx86_64 fi…

Linux Debian12使用podman安装upload-labs靶场环境

一、upload-labs简介 PHP语言编写,持续收集渗透测试和CTF中针对文件上传漏洞的靶场,总共21关,每一关都包含着不同的上传绕过方式。 二、安装podman环境 Linux Debian系统如果没有安装podman容器环境,可以参考这篇文章先安装pod…

透过许战海矩阵洞察安记食品增长战略

引言:安记食品如果想实施增长战略,建议深耕招牌产品,走向全国市场,目前招牌产品咖哩和复合调味粉市场空间没有被全面释放出来,需要科学的产品战略作为支撑。安记食品选择功能性产品方向是正确的,但“功能性”需要一个大品类作为载体,牛奶,饮料是最大的载…

Matlab数值计算常用命令

基本常用函数 round(x)四舍五入 fix(x)向零取整。 floor(x)向负无穷取整 ceil(x)向正无穷取整 rem(x,y)计算x除以y的余数 gcd(x,y&#xff…

网站被恶意扫描怎么办(上WAF)

在网络安全领域,有一大类工具被广泛使用,且作用不可忽视,它就是网络安全扫描器。扫描器是一种专门设计用来评估计算机、网络或者应用中已知的弱点的计算机程序,但是很多人恶意使用,找到网站弱点进行攻击。 扫描器的种…

K8S理论

kubernetes:8个字母省略,就是k8s 自动部署自动扩展和管理容器化部署的应用程序的一个开源系统 k8s是负责自动化运维管理多个容器化程序的集群,是一个功能强大的容器编排工具 分布式和集群化的方式进行容器化管理 版本有1.15 .1.18 .1.20 …

Oracle T4-4小型机上配置Ldom部署rac

Ldom控制域配置 (两台主机一样,以hydb1为例) roothydb1 # ldm add-vds primary-vds0 primary roothydb1 # ldm add-vcc port-range5000-5100 primary-vcc0 primary roothydb1 # ldm add-vsw net-devigb0 primary-vsw0 primary roothydb1 # ldm add-vsw net-devixgbe…

问答区故意在结题前回答混赏金的狗

此贴专记录CSDN问答社区里面,一些回答者在临近结题时胡乱回答,只为分取结题赏金的人。 所有图片均为事实,绝无半点虚假。各位看官可以自行搜索问题题目或者通过查看此人回答求证 所有图片均为事实,绝无半点虚假。各位看官可以自行…

【linux】select实现定时器

/*秒级定时器*/ void seconds_sleep(unsigned long seconds) {if(seconds 0) return;struct timeval tv;tv.tv_secseconds;tv.tv_usec0;int err;do{errselect(0,NULL,NULL,NULL,&tv);}while(err<0 && errnoEINTR); }/*毫秒定时器*/void milliseconds_slee…