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

相关推荐
猿究院_夏燊4 小时前
Spring Bean 生命周期
java·后端·spring
Wang's Blog4 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
qqxiaoxingxing4 小时前
HR重复性工作自动化落地指南:先梳理任务边界,再选工具
运维·自动化
信誓旦旦的程序猿5 小时前
【Python量化实战宝典 #08】可转债与债券接口手册:转股价·溢价率·纯债价值(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
砚底藏山河5 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
Jlzn88885 小时前
华东电芯分选通道数怎么配才不堵线
java·人工智能·架构·自动化·制造
香吧香5 小时前
GRPC连接机制---长连接分析
java·网络与传输协议
王琦03185 小时前
持续集成持续交付企业示例
运维·ci/cd
我是人✓6 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
Lsetea6 小时前
SSL证书指纹相同但文件哈希不同:PEM、DER与公钥摘要怎么比
运维·https·ssl证书·openssl·证书链