Jenkins Feb 27, 2026
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
安装
- 最低硬件要求
- 256MB 的内存
- 1GB 的存储空间(但若将 Jenkins 作为 Docker 容器运行,则建议至少为 10GB)
- 小型团队的推荐硬件配置
- 4 GB+ 的内存
- 50 GB+ 的存储空间
构建
1. 新建项目

2. 使用官方推荐的Pipeline

###

4. 流水线语法编写

pipeline {
agent any
//这里是环境变量 - 变量尽量配置到这里
environment {
GIT_BRANCH = 'pro'
GIT_URL = 'http://114.113.159.196:8090/rms/allinone.git'
GIT_UNAME = 'gitlab[umcc]'
JAVA_HOME = '/opt/app/jdk/1.8'
MVN_HOME = '/home/jenkins/apache-maven-3.8.9'
MVN_SETTINGS = '/home/jenkins/apache-maven-3.8.9/conf/ali-settings.xml'
REMOTE_DIR = '/opt/app/rms/allinone-task'
REMOTE_ADDRESS_CONFIG = '172-20-197-163'
}
// 这里是真正的的阶段步骤,按顺序执行
stages {
// 从git拉取代码
stage('Pull') {
steps {
echo "拉取最新代码"
git branch: "${env.GIT_BRANCH}", credentialsId: "${env.GIT_UNAME}", url: "${env.GIT_URL}"
}
}
// 这里是构建步骤,子项目多的尽量不要使用项目中的pom进行构建,否则会特别慢
stage('Build') {
// 这个步骤里边直接执行bash命令就行,变量只对要用双引号生效,单引号不生效
steps {
sh "export JAVA_HOME=${env.JAVA_HOME}"
echo "引入 JAVA_HOME"
sh "export MVN_HOME=${env.MVN_HOME}"
echo "引入 MVN_HOME"
echo "准备进行打包"
sh "mvn clean -DskipTests=true install -f pom.xml -s ${env.MVN_SETTINGS}"
echo "打包完毕"
}
}
// 这里是部署
stage('Deploy') {
steps {
echo "准备推送远程服务器"
script {
sshPublisher(
publishers: [
sshPublisherDesc (
// 配置 ssh 服务器地址名
configName: "${env.REMOTE_ADDRESS_CONFIG}",
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
// 是否展示执行脚本日志
verbose: true,
transfers: [
sshTransfer(
cleanRemote: false,
excludes: '',
// 展示日志就是展示这里执行命令时候的日志
execCommand: "cd ${env.REMOTE_DIR} && sh ${env.REMOTE_DIR}/no-off.sh stop && sh ${env.REMOTE_DIR}/no-off.sh start",
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
// 需要部署服务器目录,要全路径
remoteDirectory: "${env.REMOTE_DIR}",
remoteDirectorySDF: false,
// 打完包后的包目录地址
sourceFiles: 'target/*SNAPSHOT.jar',
// 移除前缀, 在推送到远程目录时只保留上边的*SNAPSHOT.jar这个名字
removePrefix: 'target'
)
])])}
echo "执行完毕"
}
}
}
}
系统配置
1. 进入系统配置

2. 进行 ssh 配置


凭证配置
1. 进入凭证配置

2. 进行全局凭证

3. 添加凭证



⚠️注意!部署以后尽量使用 no-off.sh 启动文件、或者自己编写全路径脚本,否则各种路径会不对。
- 启动:
no-off.sh start- 停用:
no-off.sh stop这里没有重启命令, 防止勿操作脚本把服务给重启了