Jenkins部署配置及Jenkinsfile流水线任务示例【无图版】

一、下载

  • JDK环境下载:https://repo.huaweicloud.com/java/jdk/11.0.1+13/jdk-11.0.1_linux-x64_bin.tar.gz

  • Jenkins安装包下载:https://github.com/jenkinsci/jenkins/releases/tag/jenkins-2.375.3

二、Jdk/Java环境配置

  • 解压
tar -zxvf jdk-11.0.1_linux-x64_bin.tar.gz
mv jdk-11.0.1_linux-x64_bin /usr/local/jdk
  • 添加环境变量

vim /etc/profile

#   追加写入
........
# Java11
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}
export PATH=/usr/local/node/bin:${PATH}
  • 使配置生效
source /etc/profile

三、Jenkin初始化

  • jenkins存放目录
/www/jenkins/jenkins.war
  • 启动
nohup java -jar jenkins.war --httpPort=9080 > jenkins.log 2>&1 &
  • 安装

启动后在浏览器访问http://ip:9080,根据提示在~/.jenkins/secrets/initialAdminPassword文件中找到初始密码,根据提示选择安装推荐的插件

Install suggested plugins,安装后以后根据提示创建账号密码。

四、Jenkins配置

  • 添加全局SSH密钥【密钥为Jenkins所在服务器的私钥】

​ 地址:http://localhost:9080/manage/credentials/store/system/domain/_/

​ web界面:系统管理—>Manage Credentials—>System—>全局凭据 (unrestricted)—>Add Credentials ,根据要求添加私钥

  • 插件安装

    【Docker Pipline】:使用Jenkins构建镜像时需用到

    【build user vars】:获取构建者信息时需用到

五、流水线任务配置

1.创建一个流水线任务

以【FirstPipeline】为例

【web地址】:http://localhost:9080/job/FirstPipeline/configure

2.修改以下配置:

  • 2.1【Throttle builds】

    构建数:1
    Time period:Secone
    
  • 2.2 只勾选【不允许并发构建】

  • 2.3【参数化构建过程】:选择字符参数

    名称:target
    默认值:test
    描述:
    test:测试环境
    prod:生产环境
    
  • 2.4【流水线】

    定义:Pipeline script from SCM
    SCM:Git
    Repository URL:项目代码仓库地址
    Credentials:全局凭据里的保存的私钥
    Branches to build:指定分支:*/test
    源码库浏览器:(自动)
    脚本路径:Jenkinsfile
    勾选轻量级检出
    

六、Vue项目Jenkinsfile示例

采用指定节点声明式流水线写法

node {stage('拉取代码'){try {echo "拉取最新代码!"checkout scm}catch(err) {echo "拉取失败!"throw err}}stage('打包') {try{sh 'node --version'sh 'pnpm --version'sh 'pnpm --registry https://registry.npm.taobao.org install --no-frozen-lockfile'sh 'pnpm build'}catch(err){echo 'pnpm build failed'throw err}}stage('部署') {if (env.target == 'prod') {sh "rsync -zcav -e ssh dist/* server01:/data/www/website"}}stage('清理'){deleteDir()}
}

七、一些说明

这种方式未增加自动触发构建发布操作,每次更新代码后需手动到Jenkins上流水线任务中点击Build with Parameters才可触发构建发布操作。后续再更新配合gitlab webhook进行提交触发构建的步骤及所需的Jenkins 插件文档。

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

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

相关文章

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

[RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来

这个专题主要记录把 RK Linux-5.10 移植到 ROC-RK3399-PC Pro 的过程。 文章目录 一、u-boot 移植二、内核移植三、文件系统移植四、固件编译与打包五、移植问题处理一、u-boot 移植 首先进入 rk3399 板级配置文件目录 device/rockchip/rk3399,可以看到有一个 BoardConfig-rk…

全文检索[ES系列] - 第495篇

历史文章(文章累计490) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 M…

闭包与装饰器

章节目录: 一、闭包1.1 相关概述1.2 基本使用 二、装饰器2.1 相关概述2.1 装饰器最早版本2.3 基本使用2.4 装饰带有参数的函数2.5 装饰带有返回值的函数2.6 通用装饰器2.7 带有参数的装饰器2.8 类装饰器2.9 装饰器的使用场景 三、装饰器总结四、结束语 一、闭包 Pyt…

知识蒸馏代码实现(以MNIST手写数字体为例,自定义MLP网络做为教师和学生网络)

dataloader_tools.py import torchvision from torchvision import transforms from torch.utils.data import DataLoaderdef load_data():# 载入MNIST训练集train_dataset torchvision.datasets.MNIST(root "../datasets/",trainTrue,transformtransforms.ToTens…

ES6中的类

1、Class 类是一种可选(而不是必须)的设计模式,而且在 JavaScript 这样的 [[Prototype]] 语言中实现类是很别扭的。大致解决了以下问题: 不再引用杂乱的 .prototype 了Button 声 明 时 直 接“ 继 承 ” 了 Widget, …

Docker容器化平台及其优势和应用场景介绍

Docker是一种开源的容器化平台,它基于操作系统级别虚拟化技术,可以将应用程序及其依赖项打包成一个独立的容器,提供轻量级、一致性、可移植性的应用环境。Docker的基本概念和优势如下: 镜像(Image):Docker容器的基础&…

JAVA对象转HashMap如何快速强转

小编我最近看到了些资料,之前JAVA对象转DTO都是另外写类&#xff0c;进行强转&#xff0c;里面有些Long类型&#xff0c;日期类型&#xff0c;都是转成String类型&#xff0c;现在有快速优雅得解决方式 我们需要得Map结构是 Map<String,object> 简单说明一下这个类&…

QT Day01 qt概述,创建项目,窗口属性,按钮,信号与槽

1.qt概述 1.什么是qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供建立艺 术级图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组 件编程。 2.支持的平台 Windows – XP 、 Vista 、 Win7 、 Win8…

Java(119):ExcelUtil工具类(org.apache.poi读取和写入Excel)

ExcelUtil工具类(XSSFWorkbook读取和写入Excel),入参和出参都是:List<Map<String,Object>> 一、读取Excel testdata.xlsx 1、new XSSFWorkbook对象 File file = new File(filePath); FileInputStream fis = new FileInputStream(file);…

8.二维数组——将一个二维数组行和列的元素互换,存到另一个二维数组中。

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 将一个二维数组行和列的元素互换&#xff0c;存到另一个二维数组中。 二、题目分析 三、解题 程序运行代码 #incl…

玄学调参实践篇 | 深度学习模型 + 预训练模型 + 大模型LLM

&#x1f60d; 这篇主要简单记录一些调参实践&#xff0c;无聊时会不定期更新~ 文章目录 0、学习率与batch_size判断1、Epoch数判断2、判断模型架构是否有问题3、大模型 - 计算量、模型、和数据大小的关系4、大模型调参相关论文经验总结5、训练时模型的保存 0、学习率与batch_s…

python中几次方怎么打,三种内置方法

Python中几次方的三种内置方法 Python中至少内置的三种可以用于求取某个底数的几次方的方法&#xff0c;如下&#xff1a; 第一种方法&#xff0c;通过Python内置的幂次方运算符“**”&#xff1b;使用math模块的pow()方法&#xff0c;可以用于求取幂次方&#xff0c;即pow()…

压力测试+接口测试

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因 为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是…

鸿蒙系统开发手册 - HarmonyOS内核驱动层源码分析

众所周知系统定义HarmonyOS是一款“面向未来”、面向全场景&#xff08;移动办公、运动健康、社交通信、媒体娱乐等&#xff09;的分布式操作系统。在传统的单设备系统能力的基础上&#xff0c;HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c;能…

Arrays.asList() 与 Collections.singletonList()的恩怨情仇

1. 概述 列表是我们使用 Java 时常用的集合类型。 众所周知&#xff0c;我们可以轻松地用一行初始化一个List。例如&#xff0c;当我们想要初始化一个只有一个元素的List时&#xff0c;我们可以使用Arrays.asList()方法或Collections.singletonList()方法。 在本文中&#x…

【Linux】基础IO--文件基础知识/文件操作/文件描述符

文章目录 一、文件相关基础知识二、文件操作1.C语言文件操作2.操作系统文件操作2.1 比特位传递选项2.2 文件相关系统调用2.3 文件操作接口的使用 三、文件描述符fd1.什么是文件描述符2.文件描述符的分配规则 一、文件相关基础知识 我们对文件有如下的认识&#xff1a; 1.文件 …

用最少数量的箭引爆气球[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 有一些球形气球贴在一堵用XY平面表示的墙面上。墙面上的气球记录在整数数组points&#xff0c;其中points[i] [xstart, xend]表示水平直径在xstart和xend之间的气球。你不知道气球的确切y坐标。一支弓箭可以沿着x轴从不同点完全垂直…

vue-动态组件、keep-alive

vue-动态组件、keep-alive 如果我们想写一个tabbar导航栏&#xff0c;我能想到的两种方式 通过if条件判断的方式实现&#xff08;不赘述&#xff09;动态组件 接下来我们就看看动态组件如何创建&#xff0c;废话不多少直接上代码&#xff08;代码中有备注&#xff09; 首先…

Panalog 日志审计系统 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统&#xff0c;方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 sy_query.php接口处存在远程命令执行漏洞&#xff0c;攻击者可执行任意命令&#xff0c;接管服务器权限。 0x03 复现环境 FOFA&#xf…