温馨提示×

ubuntu jenkins怎样集成

小樊
39
2026-09-10 06:40:14
栏目: 智能运维

下面按最常见的场景给你一个清晰、可落地的说明:在 Ubuntu 上安装 Jenkins,并将其与代码仓库(GitLab / GitHub)集成,实现 CI/CD。如果你指的是其他“集成”(如 Docker、K8s、Ansible),我也可以再补充。


一、Ubuntu 上安装 Jenkins

1. 安装 Java(Jenkins 依赖)

sudo apt update
sudo apt install openjdk-17-jdk -y

2. 添加 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

sudo apt update
sudo apt install jenkins -y

3. 启动并设置开机自启

sudo systemctl enable --now jenkins
sudo systemctl status jenkins

4. 防火墙(如有)

sudo ufw allow 8080

浏览器访问:

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

初始密码:

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

二、Jenkins 基础配置

  1. 安装推荐插件
  2. 创建管理员用户
  3. 安装常用插件:
    • Git
    • Pipeline
    • Credentials Binding
    • Docker / Kubernetes(按需)

三、与 Git 仓库集成(以 GitLab 为例)

1. 生成 SSH Key(Jenkins 服务器)

sudo su - jenkins
ssh-keygen -t rsa -b 4096
cat ~/.ssh/id_rsa.pub

把公钥加到 GitLab / GitHub 的 Deploy Key

2. Jenkins 中添加 Credentials

  • 类型:SSH Username with private key
  • Username:git
  • Private Key:粘贴 id_rsa

四、创建 Jenkins Job(Pipeline 示例)

1. 新建 Item → Pipeline

2. Pipeline 脚本示例

pipeline {
    agent any

    stages {
        stage('Clone') {
            steps {
                git branch: 'main',
                    url: 'git@gitlab.com:your/group/project.git',
                    credentialsId: 'git-ssh'
            }
        }

        stage('Build') {
            steps {
                sh 'mvn clean package'
                // 或 npm / make / docker build
            }
        }

        stage('Deploy') {
            steps {
                sh 'bash deploy.sh'
            }
        }
    }
}

五、Webhook 自动触发构建(推荐)

GitLab / GitHub

  • Webhook URL:
http://<JENKINS_IP>:8080/git/notifyCommit?url=git@gitlab.com:your/group/project.git

Jenkins Job 中

  • ✅ 勾选 Poll SCM(可留空)
  • 或安装 GitLab Plugin 使用 Push Trigger

六、常见问题

Jenkins 无法访问 Git

  • 确认 jenkins 用户有 SSH key
  • sudo su - jenkins 测试 git clone

权限问题

sudo chown -R jenkins:jenkins /var/lib/jenkins

七、进阶集成方向(可选)

  • Jenkins + Docker(构建镜像)
  • Jenkins + Ansible(部署)
  • Jenkins + Kubernetes(动态 Agent)
  • Jenkins + Nginx(HTTPS 反代)

如果你能告诉我:

  • ✅ Jenkins 要集成什么系统(GitLab / GitHub / Docker / K8s / 飞书 / 钉钉)
  • ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)

我可以直接给你定制化配置方案或 yaml/pipeline 模板

0