Jenkins如何在Ubuntu上实现自动化

535
2025/4/13 15:31:58
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Jenkins是一个流行的开源自动化工具,用于实现持续集成和持续交付。以下是在Ubuntu上实现Jenkins自动化的步骤:

安装Jenkins

  1. 更新系统
sudo apt update
sudo apt upgrade
  1. 安装Java
sudo apt install openjdk-11-jdk
  1. 添加Jenkins存储库
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
  1. 安装Jenkins
sudo apt install jenkins
  1. 访问Jenkins Web界面
  • 打开浏览器,输入 http://<your-server-ip>:8080
  • 输入初始管理员密码(可以从 /var/lib/jenkins/secrets/initialAdminPassword 获取)。
  1. 配置Jenkins
  • 登录后,配置全局系统设置和安装必要的插件。

配置Jenkins Pipeline

  1. 新建流水线任务
  • 在Jenkins中新建一个流水线任务。
  1. 配置Pipeline
pipeline {
    agent any
    environment {
        DOCKER_REGISTRY = "你的镜像仓库地址"
    }
    stages {
        stage('Git Pull') {
            steps {
                git url: '你的Git仓库地址', branch: 'master'
            }
        }
        stage('Maven Build') {
            steps {
                sh 'mvn clean package -DskipTests'
            }
        }
        stage('Docker Build') {
            steps {
                script {
                    docker.build("demo-app:${env.BUILD_ID}")
                }
            }
        }
        stage('Deploy') {
            steps {
                sh 'docker stop myapp || true'
                sh 'docker rm myapp || true'
                sh "docker run -d -p 8080:8080 --name myapp demo-app:${env.BUILD_ID}"
            }
        }
    }
}
  1. 配置触发器
  • 在任务设置中添加GitHub hook trigger,并在Git仓库配置Webhook。

自动化部署流程

  1. 代码推送到Git仓库
  • 开发者将代码推送到Git仓库。
  1. Jenkins检测到变更
  • Jenkins检测到代码变更并自动触发构建流程。
  1. 拉取最新代码打包
  • Jenkins拉取最新代码并进行打包。
  1. 用Docker构建镜像
  • 使用Docker构建项目镜像。
  1. 推送到服务器运行
  • 将构建好的镜像推送到服务器并运行。

常见问题及解决方案

  • 权限不足:给Jenkins用户加docker执行权限 sudo usermod -aG docker jenkins,然后重启Jenkins服务。
  • 构建缓存问题:在mvn命令后加 -U 参数强制更新依赖。
  • 端口冲突:部署前先用 docker stop 停止旧容器。
  • 内存溢出:在 docker run 命令添加内存限制 --memory 512m --memory-swap 1g

通过以上步骤,您可以在Ubuntu上成功配置Jenkins实现自动化部署。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu安装openssl的步骤是什么