Jenkins 任务配置
2025/8/4大约 3 分钟
Jenkins 任务配置
环境配置
打开菜单:manage Jenkins -> Tools
- 选择Git地址
- 配置Maven地址
- 点击Jdk安装,配置Jdk 记住这个别名,再之后的pipline中会使用
创建流水线
菜单: Dashboard -> 新建Items
新建freeStyle project
选择freeStyle类型项目
点击完成,进入项目配置:
- 源码管理选择Git
- 填写仓库git地址,如:
https://github.com/Coveros-GitHub-Sandbox/helloworld.git
- Credentials 这里如果是公开的仓库,就选择无,如果是带有访问权限的仓库,需要添加访问令牌
- Branches to build: 选择需要构建的分支
- Triggers 触发器,什么时候触发,我这里选择自己主动触发,不选择自动触发
- Environment 这里有个
Delete workspace before build starts
构建前自动清理工作空间,默认的工作空间再C盘下 users 下 .jenkins 文件夹下 - Build Steps 添加构建步骤
- 7.1 第一步克隆代码,上面已经配置了
- 7.2 拉取代码后进行打包,即执行命令:
mvn clean package
- 7.3 打包成功后,运行代码:
java -cp target/helloworld-1.1.jar com.coveros.demo.helloworld.HelloWorld
- 因为当前是Windows环境,所以添加构建步骤时,选择:
Execute Windows batch command
, 执行windows 批处理脚本: - 将这两个步骤添加后,还有构建后的步骤,如果需要添加再自行配置吧。
- 配置完成之后,点击应用,保存。
然后Jenkins 会返回到刚刚创建这个项目的管理界面,点击 Build Now
触发一次构建。
新建流水线类型的项目 Pipline
这里没啥配置的,和哪个差不多,主要就是定义流水线,可以直接写流水线脚本,也可以自己写好JenkinsFile, 指定JenkinsFile的路径,我这里写 流水线脚本
定义如下:
pipeline {
agent any
tools {
// 安装配置为"M3"的Maven版本并将其添加到PATH中
maven "maven3"
// 如果需要特定版本的JDK,可以在这里配置
// 这个取值是之前再 manageJenkins-tools中配置的Jdk
jdk "jdk17"
}
environment {
// 定义应用程序的主类(如果需要在多个地方使用)
MAIN_CLASS = "com.coveros.demo.helloworld.HelloWorld"
JAR_FILE = "target/helloworld-1.1.jar"
}
stages {
stage('Checkout') {
steps {
// 从GitHub仓库检出代码
git url: 'https://github.com/Coveros-GitHub-Sandbox/helloworld.git', branch: 'master'
}
}
stage('Build') {
steps {
// 执行Maven构建命令
sh "mvn clean package"
}
}
stage('Run Application') {
steps {
// 运行Java应用程序
sh "java -cp ${JAR_FILE} ${MAIN_CLASS}"
}
}
}
post {
always {
// 无论构建结果如何,都记录测试结果
echo "build success"
}
success {
// 构建成功时归档生成的JAR文件
archiveArtifacts artifacts: "${JAR_FILE}", fingerprint: true
}
failure {
// 构建失败时发送通知(可选)
mail to: 'team@example.com',
subject: "Pipeline Failed: ${currentBuild.fullDisplayName}",
body: "Something went wrong with the build."
}
}
}
构建skywalking的脚本
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git(
url: 'https://github.com/apache/skywalking.git',
branch: 'master',
credentialsId: '' // 如果需要认证
)
// sh 'cd skywalking'
sh 'git submodule init'
sh 'git submodule update --recursive' // 更新所有子模块
}
}
stage('Build') {
steps {
sh 'mvn clean package -Dmaven.test.skip=true' // 根据实际构建命令修改
}
}
}
}
上面这些命令执行完成之后,就会再工作空间生成构建产物,可以将这些构建产物推送到远程服务器之后,或者上传镜像之后,清空工作空间。发送通知邮件之类的操作.