温馨提示×

ubuntu怎么集成jenkins

小樊
41
2026-09-07 08:46:34
栏目: 智能运维

在 Ubuntu 上“集成 Jenkins”通常分几种场景:
1️⃣ 在 Ubuntu 上安装并运行 Jenkins
2️⃣ Ubuntu 作为 Jenkins 构建节点(Agent)
3️⃣ Jenkins 与 Ubuntu 上的 Git / Docker / 部署流程集成

下面我按最常见、最实用的方式给你一个完整指南。


一、在 Ubuntu 上安装 Jenkins(主控)

1. 系统准备

sudo apt update
sudo apt upgrade -y

安装 Java(Jenkins 依赖):

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

2. 安装 Jenkins

sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian/jenkins.io-2023.key

echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian binary/" | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt update
sudo apt install jenkins -y

3. 启动 Jenkins

sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins

4. 访问 Jenkins

http://<服务器IP>:8080

获取初始密码:

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

二、Ubuntu 作为 Jenkins Agent(推荐做法)

方式一:SSH Agent(最简单)

在 Jenkins 中:

  • Manage Jenkins → Nodes
  • New Node
  • 类型:Permanent Agent
  • 启动方式:Launch agents via SSH
  • 填写 Ubuntu 的 IP、用户名、SSH 私钥

Ubuntu 端只需:

sudo apt install openjdk-17-jdk -y

方式二:Docker Agent(更干净)

Ubuntu 安装 Docker:

sudo apt install docker.io -y
sudo systemctl enable docker

Jenkins 使用:

agent {
  docker { image 'maven:3.9' }
}

三、Jenkins 与 Ubuntu 常用集成示例

1️⃣ 集成 Git

sudo apt install git -y

Jenkins Pipeline:

pipeline {
  agent any
  stages {
    stage('Clone') {
      steps {
        git 'https://github.com/your/repo.git'
      }
    }
  }
}

2️⃣ 集成 Docker 构建

stage('Build') {
  steps {
    sh 'docker build -t myapp .'
  }
}

3️⃣ 自动部署到 Ubuntu

stage('Deploy') {
  steps {
    sh '''
      docker stop myapp || true
      docker run -d --name myapp -p 8080:8080 myapp
    '''
  }
}

四、常见问题

Jenkins 无法启动

journalctl -u jenkins -n 50

端口冲突

修改:

sudo nano /usr/lib/systemd/system/jenkins.service

JENKINS_PORT


五、推荐架构(生产建议)

Ubuntu (Jenkins Master)
 ├── Ubuntu Agent (Docker)
 ├── Ubuntu Agent (SSH)
 └── 构建 → 测试 → 部署

如果你愿意,我可以:

  • ✅ 帮你写 完整 Jenkinsfile
  • ✅ 配置 GitHub Webhook 自动触发
  • ✅ 做 Jenkins + Docker + Nginx 部署方案

你现在是 学习 / 公司项目 / 服务器部署 哪种场景?

0