在 Debian 上把 Jenkins 集成通常涉及三类场景:
1️⃣ 在 Debian 上安装并运行 Jenkins
2️⃣ Jenkins 与 Debian 构建/部署环境集成
3️⃣ Jenkins 与其他系统(Git、Docker、Ansible 等)集成
下面按最常见场景给你一套可落地的 Debian + Jenkins 集成方案。
sudo apt update
sudo apt install -y openjdk-17-jdk
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/" \
| sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt update
sudo apt install -y jenkins
sudo systemctl enable --now jenkins
访问:
http://<服务器IP>:8080
初始密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
推荐插件:
管理 Jenkins → Plugins → Available plugins
如果你不想用 master 构建:
管理 Jenkins → Nodes → New Node
- Remote root directory: /home/jenkins
- Launch method: SSH
pipeline {
agent {
docker { image 'maven:3.9' }
}
stages {
stage('Build') {
steps {
sh 'mvn package'
}
}
}
}
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/your/repo.git'
}
}
stage('Build') {
steps {
sh 'make build'
}
}
stage('Deploy') {
steps {
sshagent(['debian-server']) {
sh '''
scp app.jar user@192.168.1.10:/opt/app/
ssh user@192.168.1.10 "systemctl restart app"
'''
}
}
}
}
}
部署后可用 systemd 管理应用:
sudo tee /etc/systemd/system/app.service <<EOF
[Unit]
Description=App Service
[Service]
ExecStart=/usr/bin/java -jar /opt/app/app.jar
User=jenkins
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now app
sudo apt install -y docker.io
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
Pipeline 示例:
agent {
docker { image 'node:18' }
}
journalctl -u jenkins -f
修改:
sudo nano /etc/default/jenkins
# HTTP_PORT=8080
sudo chown -R jenkins:jenkins /var/lib/jenkins
Git → Jenkins(Debian) → Build → Deploy(Debian/Docker)
如果你能说明:
我可以给你定制 Jenkinsfile 和完整部署方案。