2026.2.2--Jenkins的基本使用

docker部署Jenkins

复制代码
docker volume create jenkins-data
docker run -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home --name jenkins-lts jenkins/jenkins:lts

访问http://localhost:8080

Jenkins页面

创建任务

点击OK后将位于项目的配置页面

简单的示例:

点击 Add build step 下拉按钮,然后选择 Execute shell。这将 shell 命令作为构建的一部分来运行。

点击 Save, Jenkins 会重定向到新创建的项目 My-First-Job 的主页面

**点击 (Build Now)**开始构建过程,在左下角的builds区域可以看到构建的历史记录

点击构建编号 #1 可以进入该特定构建的详情页面

控制台输出

使用触发器调度构建

此字段使用 cron 语法定义调度。该语法由 5 个由空格分隔的字段组成

复制代码
MINUTE HOUR DAYOFMONTH MONTH DAYOFWEEK

* * * * *每分钟运行一次

归档构建产物

进入配置界面,找到Execute shell 命令框,在脚本中添加新的一行,创建一个名为 build-info.txt 的文件。$BUILD_NUMBER 是 Jenkins 提供的环境变量,其中包含当前的构建号。

配置一个构建后操作来归档此文件,向下滚动到 Post-build Actions 部分,点击 Add post-build action 下拉菜单,然后选择 Archive the artifacts

Files to archive 字段中,输入你想要归档的文件名:build-info.txt。你也可以使用通配符,如 **/*.jar 来归档多个文件。

点击 Build Now 来运行一个新的构建。构建完成后,点击 Build History 中的最新构建号。会看到一个名为 Build Artifacts 的部分,其中包含指向 build-info.txt 的链接。可以点击它来查看或下载文件。

配置工作区清理

Post-build Actions 部分。点击 Add post-build action 下拉菜单,然后选择 Delete workspace when build is done

点击 **Save,**每次构建完成后,Jenkins 将删除工作区目录中的所有文件。归档的产物会单独存储,不受工作区清理的影响。

Jenkins 与 Git 集成

  1. 在 Jenkins 仪表盘(dashboard)上,点击右上角的齿轮图标(设置按钮)。
  2. 在设置页面上,找到并点击 Plugins
  3. 选择 Installed plugins 标签页。
  4. 在右侧的搜索框中,输入 Git 以筛选已安装的插件。

创建项目并配置 Git SCM

创建一个git-integration-project 项目,配置页找到Source Code Management 部分

Repository URL 字段中,输入为你准备好的本地 Git 仓库的绝对路径

当作业运行时,Jenkins 会首先将 Git 仓库克隆到其工作空间,然后从该工作空间内执行这些命令。

启用 SCM 轮询自动构建

在检测到 Git 仓库中的更改时自动启动构建。

Schedule 文本框使用 cron 语法来定义 Jenkins 检查仓库更改的频率。要每分钟轮询一次,为*****

git-integration-project 页面,在左侧边栏中,你会看到一个名为 Git Polling Log 的新选项,此页面显示了轮询活动。

添加参数

示例:

会看到 Build with Parameters 选项,而不是 "Build Now"

Post-build Task Plugin

安装完成后

Jenkins Pipeline

简单示例:

配置页面保持配置不变,save

配置你的 Jenkins 项目以从远程 Git 仓库检索其流水线定义。我这里使用一个包含预配置 Jenkinsfile

复制代码
pipeline {
    agent any
    environment {
        DEPLOY_TARGET = 'staging'
    }
    stages {
        stage('Build') {
            steps {
                echo 'Building the application...'
                sh 'echo "Compiling source code..."'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing the application...'
                sh 'echo "Running unit tests..."'
            }
        }
        stage('Deploy') {
            steps {
                echo "Deploying the application to ${env.DEPLOY_TARGET}..."
                sh 'echo "Application deployed successfully!"'
            }
        }
    }
}
  • pipeline { ... }: 定义整个流水线的核心块。
  • agent any: 指示 Jenkins 在任何可用代理上运行此流水线。
  • environment { ... }: 定义可在整个流水线中使用的环境变量。
  • stages { ... }: 包含流水线中所有阶段的包装器。
  • stage('...') { ... }: 定义特定的阶段。阶段有助于可视化工作流程。
  • steps { ... }: 包含在阶段中要执行的实际命令。
  • echo '...': 一个打印消息到构建日志的步骤。
  • sh '...': 一个执行 shell 命令的步骤。

配置执行远程 GitHub 仓库中定义的流水线

点击build now

相关推荐
浑水摸鱼仙君8 分钟前
SpringSecurity和Flux同时使用报未认证问题
java·ai·flux·springsecurity·springai
一叶飘零_sweeeet14 分钟前
Java 线程模型底层解密:从内核原理到生产级架构选型,全链路实战指南
java· java线程模型
am心39 分钟前
企业开发项目流程记录
java
独自破碎E1 小时前
前后端分离+微服务架构下的用户认证
java·面试·架构
hssfscv2 小时前
力扣练习训练2(java)——二叉树的中序遍历、对称二叉树、二叉树的最大深度、买卖股票的最佳时机
java·数据结构·算法
原来是猿2 小时前
Linux-【动静态库】
linux·运维·服务器
Byron__2 小时前
HashMap面试知识点
java·面试·hash
诺浅2 小时前
聊聊@DSTransactional的坑
java·多数据源·dstransavtional
菜鸟‍2 小时前
【后端项目】苍穹外卖day01-开发环境搭建
java·开发语言·spring boot
lzksword2 小时前
C++ Builder XE OpenDialog1打开多文件并显示xls与xlsx二种格式文件
java·前端·c++