Jenkins 新建配置Pipeline任务 三

news2025/2/22 17:05:50

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 any
    stages {
        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.coloradmin.cn/o/2298286.html

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

相关文章

社区版IDEA中配置TomCat(详细版)

文章目录 1、下载Smart TomCat2、配置TomCat3、运行代码 1、下载Smart TomCat 由于小编的是社区版,没有自带的tomcat server,所以在设置的插件里面搜索,安装第一个(注意:安装时一定要关闭外网,小编因为这个…

MATLAB 生成脉冲序列 pulstran函数使用详解

MATLAB 生成脉冲序列 pulstran函数使用详解 目录 前言 一、参数说明 二、示例一 三、示例二 总结 前言 MATLAB中的pulstran函数用于生成脉冲序列,支持连续或离散脉冲。该函数通过将原型脉冲延迟并相加,生成脉冲序列,适用于信号处理和系统…

概率论、组合数学知识点汇总

1、概率论知识点 全概率公式:如果事件B1,B2,…,Bn是样本空间的一个划分,则:贝叶斯定理:协方差:协方差用来衡量两个变量之间的变化趋势是否一致,公式为相关系数(Pearson)&#xff1a…

【人工智能】deepseek R1模型在蓝耘智算平台的搭建与机器学习的探索

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 蓝耘智算平台 deepseek R1简介与优点蓝耘智算平台蓝耘智算平台简介蓝耘智算平台优势deepseek R1模型在蓝耘智算平台的搭建模型使用与机器学习…

tomcat html乱码

web tomcat html中文乱码 将html文件改成jsp <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%>添加 <meta charset"UTF-8">

基于单片机的智能奶茶机(论文+源码+图纸)

1总体架构设计 本课题为基于单片机的智能奶茶机设计&#xff0c;其系统架构上设计如图2.1所示&#xff0c;整个系统包括了DS18B20温度传感器、继电器模块、LCD液晶、蜂鸣器、按键、STC89C52单片机等器件&#xff0c;在功能上用户可以通过按键键控制选择甜度和添加物以及设置温度…

Centos7系统安装redis

Centos7系统安装redis 下载编译配置配置环境变量服务脚本安装使用远程连接 下载 下载地址&#xff1a;https://download.redis.io/releases/&#xff0c;选择版本6.2.7 具体下载链接&#xff1a;https://download.redis.io/releases/redis-6.2.7.tar.gz 操作&#xff1a;在ro…

图数据库neo4j进阶(一):csv文件导入节点及关系

CSV 一、load csv二、neo4j-admin import<一>、导入入口<二>、文件准备<三>、命令详解 一、load csv 在neo4j Browser中使用Cypher语句LOAD CSV,对于数据量比较大的情况,建议先运行create constraint语句来生成约束 create constraint for (s:Student) req…

深度剖析责任链模式

一、责任链模式的本质&#xff1a;灵活可扩展的流水线处理 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是行为型设计模式的代表&#xff0c;其核心思想是将请求的发送者与接收者解耦&#xff0c;允许多个对象都有机会处理请求。这种模式完美解决了以下…

floodfill算法系列一>岛屿的最大面积

题解 整体思路&#xff1a;代码设计&#xff1a;代码呈现&#xff1a; 整体思路&#xff1a; 代码设计&#xff1a; 代码呈现&#xff1a; class Solution {int ret,m,n,count;boolean[][] vis;public int maxAreaOfIsland(int[][] grid) {m grid.length;n grid[0].length;v…

手机用流量怎样设置代理ip?

互联网各领域资料分享专区(不定期更新)&#xff1a; Sheet

游戏引擎学习第100天

仓库:https://gitee.com/mrxiao_com/2d_game_2 昨天的回顾 今天的工作重点是继续进行反射计算的实现。昨天&#xff0c;我们开始了反射和环境贴图的工作&#xff0c;成功地根据法线显示了反射效果。然而&#xff0c;我们还没有实现反射向量的计算&#xff0c;导致反射交点的代…

AT32系列微控制器低压电机控制开发板

参考&#xff1a;《UM0014_AT32_LV_Motor_Control_EVB_V20_User_Manual_V1.0.1_ZH.pdf》 开发板介绍 此电机开发板是一个泛用型的低压三相电机驱动器&#xff0c;应用雅特力科技AT32系列微控制器搭配雅特力电机函数库&#xff0c;可驱动直流无刷电机、交流同步电机&#xff0…

如何保持 mysql 和 redis 中数据的一致性?PegaDB 给出答案

MySQL 与 Redis 数据保持一致性是一个常见且复杂的问题&#xff0c;一般来说需要结合多种策略来平衡性能与一致性。 传统的解决策略是先读缓存&#xff0c;未命中则读数据库并回填缓存&#xff0c;但方式这种维护成本较高。 随着云数据库技术的发展&#xff0c;目前国内云厂商…

Vue3(3)

一.具体业务功能实现 &#xff08;1&#xff09;登录注册页面 [element-plus 表单 & 表单校验] 功能需求说明&#xff1a; 1.注册登录 静态结构 & 基本切换 2.注册功能 (校验 注册) 3.登录功能 (校验 登录 存token) import request from /utils/request// 注册接…

2025 西湖论剑wp

web Rank-l 打开题目环境&#xff1a; 发现一个输入框&#xff0c;看一下他是用上面语言写的 发现是python&#xff0c;很容易想到ssti 密码随便输&#xff0c;发现没有回显 但是输入其他字符会报错 确定为ssti注入 开始构造payload&#xff0c; {{(lipsum|attr(‘global…

Git命令摘录

使用 Git 升级软件通常是指通过 Git 仓库获取软件的最新版本或更新代码。以下是详细的步骤和方法&#xff1a; 1. 克隆软件仓库 如果这是你第一次获取软件代码&#xff0c;可以使用 git clone 命令将远程仓库克隆到本地。 git clone <仓库地址> 例如&#xff1a; git cl…

2024年博客之星年度评选—创作影响力评审+主题文章创作评审目前排名(2024博客之星陪跑小分队助力2024博客之星创作者成长)

2024年博客之星年度评选—创作影响力评审主题文章创作评审目前排名 2024年博客之星主题文章创作评审文章得分公布&#xff01;2024年博客之星创作影响力评审2024年博客之星主题文章创作评审目前排名公布&#xff01; 【2024博客之星】恭喜完成✅主题创作的226位博主&#xff0…

unity 0基础自学2.1:unity 中button的各类状态

文章目录 1、Button的状态2、脚本中获取button的状态2.1 分析状态获取2.2 通过实现接口获取button的状态2.2.1 鼠标点击与释放2.2.2 高亮模式2.2.3 退出选中模式&#xff08;高亮状态&#xff09;2.2.4 选择模式selected2.2.5 退出选择模式 3、射线与UI交互设置3.1 Canvas中组件…

《C++ Primer》学习笔记(一)

第一部分&#xff1a;C基础 在C和C编程语言中&#xff0c;main函数必须返回int类型的值。这一要求自C标准的第一次规范&#xff08;C89&#xff0c;也叫ANSI C&#xff09;开始就已经明确规定了。std::endl和\n都用于插入换行符。std::endl除了换行&#xff0c;还会强制刷新输…