温馨提示×

debian jenkins怎么集成

小樊
53
2026-10-22 15:01:47
栏目: 智能运维

下面给你一个在 Debian 上安装 Jenkins 并做基本 CI 集成的实用步骤,从零到可用。


一、在 Debian 上安装 Jenkins

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Jenkins 依赖)

Jenkins 2.x 需要 Java 11 或 17

sudo apt install -y openjdk-17-jdk
java -version

3. 添加 Jenkins 官方源

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

4. 安装 Jenkins

sudo apt update
sudo apt install -y jenkins

5. 启动并设置开机自启

sudo systemctl enable --now jenkins
sudo systemctl status jenkins

二、初始化 Jenkins

1. 获取管理员密码

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

2. 浏览器访问

http://<服务器IP>:8080
  • 输入密码
  • 安装 推荐插件
  • 创建管理员账号

三、Debian + Jenkins 常见集成方式

方式 1:Jenkins 直接在 Debian 上执行 Shell(最简单)

适合:

  • 构建脚本
  • 部署到本地
  • 自动化运维

示例 Job:

  1. 新建 Freestyle Project
  2. Build 步骤选 Execute shell
  3. 示例:
#!/bin/bash
echo "Deploy start"
git pull
systemctl restart myapp

方式 2:Jenkins + Git + Maven / Node

示例(Java):

git clone $GIT_URL
cd project
mvn clean package
java -jar target/app.jar

Node 示例:

npm install
npm run build

方式 3:Jenkins Agent(推荐生产环境)

架构:

Jenkins Master (Debian)
   └── Agent (Debian / Docker / 远程服务器)

添加 Agent:

  1. Jenkins → Manage Jenkins → Nodes
  2. New Node
  3. 启动方式:
    • SSH
    • 或 java -jar agent.jar

方式 4:Jenkins + Docker(非常常见)

sudo 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'
            }
        }
    }
}

四、Jenkins 与 Debian 服务集成(部署)

systemd 部署示例

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

如果你愿意,可以告诉我:

  • 你用的是 什么语言/项目(Java / Node / Python / Go)
  • 是否要 Docker / K8s
  • 是 学习还是生产环境

我可以直接给你一套 可用的 Jenkinsfile + 配置。

0 踩