下面给你一个在 Debian 上安装 Jenkins 并做基本 CI 集成的实用步骤,从零到可用。
sudo apt update
sudo apt upgrade -y
Jenkins 2.x 需要 Java 11 或 17
sudo apt install -y openjdk-17-jdk
java -version
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
sudo systemctl status jenkins
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
http://<服务器IP>:8080
适合:
示例 Job:
Freestyle ProjectExecute shell#!/bin/bash
echo "Deploy start"
git pull
systemctl restart myapp
示例(Java):
git clone $GIT_URL
cd project
mvn clean package
java -jar target/app.jar
Node 示例:
npm install
npm run build
架构:
Jenkins Master (Debian)
└── Agent (Debian / Docker / 远程服务器)
添加 Agent:
java -jar agent.jarsudo apt install -y docker.io
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
Pipeline 示例:
pipeline {
agent { docker 'maven:3.9' }
stages {
stage('Build') {
steps {
sh 'mvn clean package'
}
}
}
}
sudo cp target/app.jar /opt/app/
sudo systemctl restart app.service
/etc/systemd/system/app.service
[Unit]
Description=My App
[Service]
ExecStart=/usr/bin/java -jar /opt/app/app.jar
User=jenkins
[Install]
WantedBy=multi-user.target
Jenkins 默认用户是 jenkins
sudo usermod -aG sudo jenkins
或给具体命令 NOPASSWD:
jenkins ALL=(ALL) NOPASSWD: /bin/systemctl restart app
| 场景 | 推荐方式 |
|---|---|
| 本地构建 | Shell |
| 多环境 | Agent |
| 微服务 | Docker |
| 自动部署 | Git + systemd |
| 多语言 | Pipeline |
如果你愿意,可以告诉我:
我可以直接给你一套 可用的 Jenkinsfile + 配置。