0
点赞
收藏
分享

微信扫一扫

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包

Jenkins Pipeline 流水线

步骤

拉取SVN代码 -> Maven 构建 -> Docker 编译 -> 发布至阿里云仓库 -> K8S 更新

Jenkins插件安装

  • Localization: Chinese (Simplified)
  • Subversion 【2.16.0】 --从SVN中获取代码
  • Maven Integration 【3.20】 -- 编译项目
  • Docker plugin 【1.2.10】 -- 用于节点管事中的 Docker 维护
  • docker-build-step 【2.8】 -- 用于 Post Steps 的时候,选择 Build/Publish Docker Image
  • SSH 【6.1】-- 用于集成 K8S,远程执行K8S服务器上的命令

拉取SVN代码

流水线语法生成

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Jenkins


选择 Subversion 生成流水线脚本

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_maven_02


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Docker_03


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Docker_04


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_maven_05


构建

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Jenkins_06


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Docker_07

编译构建代码

  1. 找到 Maven 的名字



Cannot run program "nohup" (in directory "D:\ProgramData\Jenkins\.jenkins\workspace\PipelineDemo"): 
CreateProcess error=2, 系统找不到指定的文件。

解决方法:因为我这边是 Windows 上装的 Jenkins 所以,sh 要换成 bat

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_maven_08


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_maven_09


修改打包命令

Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Docker_10


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_maven_11


Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包_Jenkins_12

pipeline {
agent any

tools {
maven 'Maven36' //添加 Maven 工具
}
stages {
stage('拉取代码') {
steps {
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '凭证ID,如果没设,默认会给 GUID', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'SVN 地址']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']]) //该脚本由流水线语法自动生成
echo '拉取成功'
}
}

stage('执行构建') {
steps {
//bat 'mvn --version'
bat 'mvn clean package -Dmaven.test.skip=true'
echo '构建完成'
}
}
}
}



举报

相关推荐

0 条评论