Jenkins与Linux系统集成方法
一 环境准备与安装
sudo apt update && sudo apt install openjdk-11-jdk;在 CentOS/RHEL 执行:sudo yum install java-11-openjdk-devel,完成后用 java -version 验证。wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update && sudo apt install jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins,用 sudo systemctl status jenkins 检查运行状态。sudo ufw allow 8080sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload二 与Linux工具链集成
mvn clean package。三 与Linux系统服务及目录集成
sudo systemctl start|stop|restart jenkins,便于与系统运维流程对接。四 安全与网络集成
五 实战示例 从代码到远程部署的流水线
pipeline {
agent any
tools {
maven 'Maven-3' // 与全局工具配置中的名称一致
jdk 'JDK-11'
}
stages {
stage('Checkout') {
steps { git 'https://github.com/example/project.git' }
}
stage('Build') {
steps { sh 'mvn clean package -DskipTests' }
}
stage('Deploy') {
steps {
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'prod-server',
transfers: [
sshTransfer(
sourceFiles: 'target/app.jar',
removePrefix: 'target',
remoteDirectory: '/opt/app'
)
],
execCommand: '''
cd /opt/app
nohup java -jar app.jar > app.log 2>&1 &
'''
)
]
)
}
}
}
post { always { cleanWs() } }
}