温馨提示×

ubuntu怎么集成jenkins部署

小樊
38
2026-09-22 12:19:37
栏目: 智能运维

下面按**“从零在 Ubuntu 上集成 Jenkins 做自动化部署”的思路,给你一个清晰、可落地的流程。你可以根据自己是前端 / Java / Python / Docker 项目**做适当裁剪。


一、Ubuntu 上安装 Jenkins

1. 安装 Java(Jenkins 依赖)

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

2. 添加 Jenkins 源并安装

sudo apt install -y curl
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

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 -y jenkins

3. 启动 Jenkins

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

4. 开放端口(默认 8080)

sudo ufw allow 8080

浏览器访问:

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

5. 初始化

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

粘贴密码 → 安装推荐插件 → 创建管理员用户


二、Jenkins 基础集成(Git + 构建)

1. 安装必要插件

Manage Jenkins → Plugins

  • Git
  • Pipeline
  • SSH Pipeline Steps(远程部署用)
  • Docker(可选)

2. 配置 Git

which git

Jenkins → Global Tool Configuration → Git


三、自动化部署示例

示例 1:SSH 部署到 Ubuntu 本机或远程服务器

1. 配置 SSH

Jenkins → Credentials → System → Global

  • 类型:SSH Username with private key
  • 上传服务器私钥

2. 新建 Pipeline 任务

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                git branch: 'main',
                    url: 'git@github.com:user/project.git'
            }
        }

        stage('构建') {
            steps {
                sh 'npm install && npm run build'
            }
        }

        stage('部署') {
            steps {
                sshagent(['deploy-server']) {
                    sh '''
                    scp -r dist/* user@server:/var/www/html/
                    '''
                }
            }
        }
    }
}

示例 2:Docker 项目部署(推荐)

Jenkinsfile

pipeline {
    agent any

    stages {
        stage('拉代码') {
            steps {
                git 'https://github.com/user/app.git'
            }
        }

        stage('构建镜像') {
            steps {
                sh 'docker build -t myapp .'
            }
        }

        stage('运行容器') {
            steps {
                sh '''
                docker stop myapp || true
                docker rm myapp || true
                docker run -d -p 8080:80 --name myapp myapp
                '''
            }
        }
    }
}

四、Jenkins + Nginx(生产建议)

sudo apt install nginx
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
    }
}

五、常见集成方式总结

场景 推荐方式
前端静态 Jenkins + SCP + Nginx
Java Jenkins + Maven + Systemd
Docker Jenkins + Docker
K8s Jenkins + kubectl
多服务器 Jenkins + Ansible

六、常见问题

Jenkins 无法启动

sudo journalctl -u jenkins

权限问题

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

构建没权限

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

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

  • ✅ 项目类型(Java /前端 / Python / Go)
  • ✅ 是否用 Docker
  • ✅ 部署到本机还是远程服务器

我可以直接给你一套可用的 Jenkinsfile + 部署脚本。

0 踩