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

相关推荐
笑锝没心没肺1 小时前
Linux Audit 系统配置介绍
linux·运维·服务器
hai74251 小时前
在 Eclipse 的 JSP 项目中引入 MySQL 驱动
java·mysql·eclipse
瑞雪兆丰年兮2 小时前
[从0开始学Java|第十一天]学生管理系统
java·开发语言
看世界的小gui2 小时前
Jeecgboot通过Maxkey实现单点登录完整方案
java·spring boot·jeecgboot
Arvin6272 小时前
IntelliJ IDEA:无法读取**.properties
java·intellij-idea
10km2 小时前
Spring Boot 环境下使用 Map<String, MultipartFile> 实现文件上传功能
java·spring boot·mock·map·multipartfile
代码游侠2 小时前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
学到头秃的suhian2 小时前
Java的锁机制
java
腾讯蓝鲸智云2 小时前
【运维自动化-节点管理】节点管理跟配置平台的联动关系
运维·服务器·经验分享·自动化·sass·paas