Jenkins 新建配置Pipeline任务 三

Jenkins 新建配置Pipeline任务 三

一. 登录 Jenkins

网页输入 http://localhost:8080
在这里插入图片描述
输入账号、密码登录
在这里插入图片描述
一个没有创建任务的空 Jenkins

二. 创建 任务

图 NewItem
在这里插入图片描述
界面左上角 + New Item
图NewItemSelect
在这里插入图片描述
1.Enter an item name:输入任务名
2.Select an item type:选择 Pipeline:Pipeline 表示创建的是一个流水线任务
3.点击 OK
创建完成默认打开界面如下
图Configure
图Configure
修改参数、配置 之后点击 下面 Apply 按钮
需要退出编辑界面点击 Save 按钮
点击左上角 Dashboard-> TestProject1,回到项目基本信息界面
在这里插入图片描述
Stauts:项目状态,这是一个新任务,右侧只显示了 TestProject1 、Permalinks
Changes:记录变化信息,一般不需要关注
Build Now:点击这个按钮,开始执行构建
Configure:这个任务的所有配置在这里修改,点击Configure,回到 图Configure 界面
Delete Pipeline:删除这个任务
Stages:记录每次构建执行的阶段,一般不需要关注
Rename:重命名,点击进入修改任务名界面
Pipeline Syntax:流水线语法

三. 配置任务

点击 Configure 按钮,切换到配置界面
在这里插入图片描述
在这里插入图片描述
先看左上角 Configure
General:
Triggers:
Pipeline:
Advanced:
分别对应右侧不同模块
切换方式一:在左上角点击任意一个,就会切换到它对应的模块
切换方式二:在右侧区域,鼠标滚轮或者上下拖动网页,也可以看到所有的模块

四、General 模块

Description:项目描述
在这里插入图片描述
勾选 Discard old builds

  • Discard old builds:控制何时丢弃项目的构建记录
    • Days to keep builds :如果非空,例如填 5,则构建日期超过5天的记录将被删除
    • Max # of builds to keep :如果非空,例如填10,则当构建次数超过10次时,丢弃最旧的构建
      Days to keep builds 和 Max # of builds to keep 这两个选项可以同时激活,因此可以将构建保存7天,但最多只能保存10个构建。如果超过任何一个限制,那么超出该限制的任何构建都将被丢弃
      在 Advanced 部分,可以指定相同的选项

在这里插入图片描述

  • Do not allow concurrent builds:不允许并行构建,如果当前正在构建,执行新的构建,默认为等待当前的构建完成,再开始新的构建

    • Abort previous builds:勾选这个,如果当前正在构建,则立即停止构建,重新开始新的构建
  • Do not allow the pipeline to resume if the controller restarts:当Jenkins重启时,不恢复流水线

  • Throttle builds:控制每次构建的间隔

    • Number of builds:构建之间的间隔时长
    • Time period:时间类型控制 Number of builds:Year、Month、Week、Day、Hour、Minute、Second

在这里插入图片描述
勾选 This project is parameterized

  • This project is parameterized :添加参数
    在这里插入图片描述
    Jenkins 配置 Git Parameter 参数
五、Triggers

在这里插入图片描述
顾名思义就是触发器

Build after other projects are built:设置一个触发器,以便在其他项目完成构建时,为该项目安排一个新的构建
Build periodically:定期自动构建
在这里插入图片描述
如上配置,周一到周五每天早上 7:00 自动构建这个任务
GitHub hook trigger for GITSCM polling:跟 GitHub 推送 Hook 时,检测触发构建的机制,一般也用不到

六、Pipeline

在这里插入图片描述
在这里插入图片描述
在 Definition 处选择 Pipeline script from SCM
配置使用 SCM 源代码存储库中的 Pipeline 脚本
关于 Git 的配置看 Git仓库配置
在这里插入图片描述
Script Path:这个路径就是在 git 仓库中已经写好上传的 Pipeline 脚本,看下面 git 仓库中的文件
其中 testPipeline 就是 Pipeline 脚本,在跟目录
在这里插入图片描述
testPipeline 脚本内容如下

pipeline {agent anystages {stage('Print WorkSpace') {steps {script {echo "Hello world"echo "当前的工作目录: ${env.WORKSPACE}"}}}}
}

编辑完成之后点击 按钮 Apply -> 按钮 Save

七、构建任务

回到 TestProject1 配置界面
点 Build With parameters
在这里插入图片描述
在这里插入图片描述
构建信息会显示在 左侧下方的 Builds 区域,上图中显示的状态是 14:55 时刻的一个构建,状态显示未 绿色对勾,表示构建成功

那么这个构建做了什么?
执行的内容就是 Configure 模块中的 Pipeline 部分

1.在构建界面选择了:构建的分支 会赋值给参数 BRANCH_NAME
2.点 Build 会执行到 Pipeline script from SCM 模块的 Git,会执行 Git Checkout 分支的操作,把项目拉取到本地,切换到BRANCH_NAME分支
3.git 操作完成之后,调用 Script Path 路径配置的 Pipeline 脚本,也就是 我这里的 git 仓库目录的 Pipeline/testPipeline 脚本
这个脚本代码在上面已经有了,其实就做了两个输出

	 echo "Hello world"echo "当前的工作目录: ${env.WORKSPACE}"

关于 Pipeline 的语法,可以看到 Pipeline 模块最下方有一个 Pipeline Syntax 可以点击查看需要的各种功能应该怎么写

八、查看构建结果

在这里插入图片描述
选择最后一次构建,点击打开
在这里插入图片描述
1.Stauts:构建状态
在这里插入图片描述
2. **Console Output:**构建过程中的所有输出日志

Started by user admin
Lightweight checkout support not available, falling back to full checkout.
Checking out git https://github.com/LIQIANGEASTSUN/JenkinsTest.git into /Users/liqiang/.jenkins/workspace/TestProject1@script/a82089facc9f5b750180801ee6442a8ef978414d304ab5cc580f6728c566c0a8 to read testPipeline
The recommended git tool is: NONE
using credential xxx_credentials> git rev-parse --resolve-git-dir /Users/liqiang/.jenkins/workspace/TestProject1@script/a82089facc9f5b750180801ee6442a8ef978414d304ab5cc580f6728c566c0a8/.git # timeout=10
Fetching changes from the remote Git repository> git config remote.origin.url https://github.com/LIQIANGEASTSUN/JenkinsTest.git # timeout=10
Fetching upstream changes from https://github.com/LIQIANGEASTSUN/JenkinsTest.git> git --version # timeout=10> git --version # 'git version 2.39.5 (Apple Git-154)'
using GIT_SSH to set credentials xxx project git credentials
Verifying host key using known hosts file> git fetch --tags --force --progress -- https://github.com/LIQIANGEASTSUN/JenkinsTest.git +refs/heads/*:refs/remotes/origin/* # timeout=10> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision 9d2960eafc0c158d780d5849b638ebaf303cb96b (refs/remotes/origin/master)> git config core.sparsecheckout # timeout=10> git checkout -f 9d2960eafc0c158d780d5849b638ebaf303cb96b # timeout=10
Commit message: "ceshi"
First time build. Skipping changelog.
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /Users/liqiang/.jenkins/workspace/TestProject1
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
The recommended git tool is: NONE
using credential xxx_credentials> git rev-parse --resolve-git-dir /Users/liqiang/.jenkins/workspace/TestProject1/.git # timeout=10
Fetching changes from the remote Git repository> git config remote.origin.url https://github.com/LIQIANGEASTSUN/JenkinsTest.git # timeout=10
Fetching upstream changes from https://github.com/LIQIANGEASTSUN/JenkinsTest.git> git --version # timeout=10> git --version # 'git version 2.39.5 (Apple Git-154)'
using GIT_SSH to set credentials xxx project git credentials
Verifying host key using known hosts file> git fetch --tags --force --progress -- https://github.com/LIQIANGEASTSUN/JenkinsTest.git +refs/heads/*:refs/remotes/origin/* # timeout=10> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision 9d2960eafc0c158d780d5849b638ebaf303cb96b (refs/remotes/origin/master)> git config core.sparsecheckout # timeout=10> git checkout -f 9d2960eafc0c158d780d5849b638ebaf303cb96b # timeout=10
Commit message: "ceshi"
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Print WorkSpace)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
Hello world
[Pipeline] echo
当前的工作目录: /Users/liqiang/.jenkins/workspace/TestProject1
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

点击 Console Output 右侧显示输出日志,可以看到日志中一些 git 操作命令
以及 Pipeline 执行的输出结果

# 可以看到 Commit message:这个是 构建的 git 分支,的提交记录
Commit message: "ceshi"
[Pipeline] echo
Hello world
[Pipeline] echo
当前的工作目录: /Users/liqiang/.jenkins/workspace/TestProject1
  1. Parameters
    在这里插入图片描述
    点击左侧的 Parameters 在右侧显示构建时,所有参数的值

  2. Pipeline Console:Pipeline 模块输出日志信息
    在这里插入图片描述

  3. Workspaces:上面执行 git 操作拉取 git 仓库,就是存储在这个目录了
    在这里插入图片描述
    可以看到一个目录路径,点击路径,可以将项目显示在 Jenkins 界面上
    在这里插入图片描述
    可以点击文件夹一层一层打开
    在任何一层 点击 下方的 all files in zip 就会将这个目录下的所有文件打包到一个 zip 中并且下载
    点击任何一个单独的文件,会自动下载这个文件

到此 Jenkins 新建配置 Pipeline 任务的基本操作已经完成了

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

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

相关文章

盛铂科技 SMF106 低相位噪声贴片式频率综合器模块

在现代通信和电子设备领域,频率综合器作为关键组件,其性能优劣直接影响系统的整体表现。盛铂科技的 SMF106 低相位噪声贴片式频率综合器,以其卓越的性能和独特设计,成为众多高性能系统的选择。 一、频率覆盖范围广,步进…

ros:ur机械臂初识

这是用来可视化的launch文件 比如,我运行 roslaunch ur_description view_ur3.launch ur3模型 ur3e模型 ur5模型 ur5e模型 ur10模型 ur20模型 ur30模型 后来我搜了一下 UR5 和 UR10 都是由 Universal Robots(简称 UR)生产的协作机器人&…

智能陪诊与远程问诊:AI驱动的互联网医院APP开发路线图

智能陪诊与远程问诊作为现在医疗变革的前沿阵地,正在为广大患者提供更为便捷、高效的医疗服务。特别是在互联网医院APP的开发过程中,AI技术的应用已成为提升用户体验和医疗服务质量的重要手段。本文将探讨如何基于AI技术开发智能陪诊与远程问诊功能的互联…

pnpm, eslint, vue-router4, element-plus, pinia

利用 pnpm 创建 vue3 项目 pnpm 包管理器 - 创建项目 Eslint 配置代码风格(Eslint用于规范纠错,prettier用于美观) 在 设置 中配置保存时自动修复 提交前做代码检查 husky是一个 git hooks工具(git的钩子工具,可以在特定实际执行特…

格式工厂 FormatFactory v5.18.便携版 ——多功能媒体文件转换工具

格式工厂 FormatFactory v5.18.便携版 ——多功能媒体文件转换工具 功能:视频 音频 图片 文档PDF格式 各种转换,同格式调整压缩比例,调整大小 特色:果风图标 好看; 支持多任务队列,完成自动关机 下载地址&#xff1…

ai数字人分身系统开发源码saas化

#数字人分身系统# #数字人系统源码# #ai数字人123 123# 云罗抖去推数字人分身系统是一款融合了形象克隆、声音克隆、AI数字人分身、AI智能剪辑、智能文案等各种AI技术一体化的短视频营销工具,其核心功能优势主要体现在以下几方面: 真实度高&#xf…

基于Spring Boot的民宿租赁系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

李宏毅机器学习笔记:【6.Optimization、Adaptive Learning Rate】

Optimization 1.Adaptive Learning Rate2.不同的参数需要不同的学习率3.Root Mean Square4.RMSProp5.Adam6.learning rate scheduling7.warm up总结 critical point不一定是你在训练一个network时候遇到的最大的障碍。 1.Adaptive Learning Rate 也就是我们要给每个参数不同的…

CAS单点登录(第7版)2.规划

如有疑问,请看视频:CAS单点登录(第7版) 规划 架构 系统组件 CAS 服务器和客户端构成了 CAS 系统体系结构的两个物理组件,它们通过各种协议进行通信。 CAS 服务器 CAS 服务器是基于 Spring Framework 构建的 Ja…

wx061基于ssm+vue+uniapp的疫情期间学生请假与销假系统小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

【动态规划】详解 0-1背包问题

文章目录 1. 问题引入2. 从 dfs 到动态规划3. 动态规划过程分析4. 二维 dp 的遍历顺序5. 从二维数组到一维数组6. 一维数组的遍历次序7. 背包的遍历顺序8. 代码总结9. 总结 1. 问题引入 0-1 背包是比较经典的动态规划问题,这里以代码随想录里面的例子来介绍下。总的…

【设计模式】【行为型模式】解释器模式(Interpreter)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…

CAS单点登录(第7版)1.首页

如有疑问,请看视频:CAS单点登录(第7版) 面向所有地球人及其他地区的企业身份 Enterprise Identity for All Earthlings and Beyond 身份、单点登录和访问管理 Identity, Single Sign-On and Access Management 首页 Apereo CAS…

数据库数据恢复—MongoDB丢失_mdb_catalog.wt文件导致报错的数据恢复案例

MongoDB数据库存储模式为文档数据存储库,存储方式是将文档存储在集合之中。 MongoDB数据库是开源数据库,同时提供具有附加功能的商业版本。 MongoDB中的数据是以键值对(key-value pairs)的形式显示的。在模式设计上,数据库受到的约束更少。这…

SpringCloud中Sentinel基础场景和异常处理

Sentinel 是一个由 阿里巴巴 开源的分布式系统流量控制组件,专注于为微服务架构提供流量控制、熔断降级、系统负载保护等功能。它特别适用于高并发、高可用性的分布式系统,能够帮助开发者保护系统免于因流量过载、系统崩溃、依赖不可用等情况而导致的服务…

探索C语言中判断字符串循环移位关系的实现

在C语言的字符串处理中,判断两个字符串是否为循环移位关系是一个有趣且实用的问题。今天,我们就通过一段具体的代码来深入探讨这个问题的解决方案。 代码实现 代码逐行解析 预处理指令和头文件包含 #define _CRT_SECURE_NO_WARNINGS 用于禁用一些与安全…

Uniapp 原生组件层级过高问题及解决方案

文章目录 一、引言🏅二、问题描述📌三、问题原因❓四、解决方案💯4.1 使用 cover-view 和 cover-image4.2 使用 subNVue 子窗体4.3 动态隐藏原生组件4.4 使用 v-if 或 v-show 控制组件显示4.5 使用 position: fixed 布局 五、总结&#x1f38…

【Jenkins流水线搭建】

Jenkins流水线搭建 01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档基于手动方式发布项目基于dockerfile基于jenkins + dockerfile + jenkinsfile +pieline基于jenkins + jar方式的发布01、环境说明01、准备项目02、准备服务器03、安装git04、安装jdk1.805、安装maven依赖…

python包的管理

管理python包 python能跻身最欢迎编程语言前列的一个主要原因是python有着活跃的社区提供丰富的包,诸如numpy,pandas,scikit-learn等等。 python的包都存放PyPI中,PyPI即Python Package Index,是python的软件仓库。所…

2025常用的SEO工具有哪些?

在互联网时代,如何让自己的网站或内容脱颖而出,成为许多企业和个人站长们最关注的问题。而在这个过程中,SEO(搜索引擎优化)作为一种有效的提升网站曝光度和吸引流量的手段,已经成为了网站运营的核心之一。对…