Skip to main content

建 Jenkins 平台步骤

以下是搭建 Jenkins 项目平台 的完整步骤,涵盖 安装、配置、流水线创建自动化部署,适用于 Linux/Windows 环境:


1. 安装 Jenkins

Linux (Ubuntu/CentOS)

# 安装 Java (Jenkins 依赖)
sudo apt update && sudo apt install openjdk-11-jdk -y  # Ubuntu
sudo yum install java-11-openjdk -y                   # CentOS

# 添加 Jenkins 仓库并安装
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 jenkins -y

# 启动 Jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins

Windows

  1. 下载 Jenkins Windows Installer 并运行。
  2. 安装完成后,访问 http://localhost:8080

2. 初始配置

  1. 解锁 Jenkins
    访问 http://<服务器IP>:8080,输入初始密码(路径在终端显示,通常为 /var/lib/jenkins/secrets/initialAdminPassword)。
  2. 安装推荐插件
    选择 "Install suggested plugins"(包括 Git、Pipeline 等核心插件)。
  3. 创建管理员账户
    设置用户名和密码。

3. 关键插件安装

进入 Manage Jenkins > Plugins,安装以下插件:

  • Git:代码仓库集成。
  • Pipeline:定义流水线任务。
  • Docker:容器化构建支持。
  • Blue Ocean:可视化流水线编辑器(可选)。
  • SSH Agent:远程服务器部署。

4. 创建第一个流水线项目

方式1:自由风格项目

  1. 新建任务 > 选择 "Freestyle project"。
  2. 配置 Git 仓库
    • 在 "Source Code Management" 中选择 Git,填写仓库 URL(如 https://github.com/your-repo.git)。
    • 添加凭据(GitHub 用户名/密码或 SSH 密钥)。
  3. 构建触发器
    • 定时构建:H/5 * * * *(每5分钟检查一次)。
    • GitHub Webhook:需在 GitHub 仓库设置中配置 Webhook URL(http://<Jenkins-IP>:8080/github-webhook/)。
  4. 构建步骤
    • 执行 Shell 命令(如 mvn clean package)或调用 Docker 构建。

方式2:Pipeline 脚本(推荐)

  1. 新建任务 > 选择 "Pipeline"。
  2. Pipeline 选项卡中,输入脚本示例:
    pipeline {
        agent any
        stages {
            stage('Checkout') {
                steps {
                    git 'https://github.com/your-repo.git'
                }
            }
            stage('Build') {
                steps {
                    sh 'mvn clean package'
                }
            }
            stage('Test') {
                steps {
                    sh 'mvn test'
                }
            }
            stage('Deploy') {
                steps {
                    sh 'docker build -t myapp .'
                    sh 'docker push myrepo/myapp'
                }
            }
        }
    }
    

5. 集成 Docker 和 Kubernetes

Docker 构建

  1. 确保 Jenkins 服务器已安装 Docker,并将 Jenkins 用户加入 docker 组:
    sudo usermod -aG docker jenkins
    sudo systemctl restart jenkins
    
  2. 在 Pipeline 中添加 Docker 步骤:
    stage('Docker Build') {
        steps {
            script {
                docker.build("myapp:${env.BUILD_ID}").push()
            }
        }
    }
    

Kubernetes 部署

  1. 安装 Kubernetes CLI (kubectl) 并配置 ~/.kube/config
  2. 添加 Pipeline 阶段:
    stage('Deploy to k8s') {
        steps {
            sh 'kubectl apply -f k8s/deployment.yaml'
        }
    }
    

6. 配置自动化触发

GitHub Webhook

  1. 在 GitHub 仓库 > Settings > Webhooks 中添加:
    • Payload URL: http://<Jenkins-IP>:8080/github-webhook/
    • Content type: application/json
  2. 在 Jenkins 任务中勾选 "GitHub hook trigger for GITScm polling"

Jenkinsfile(代码即配置)

  1. 在项目根目录创建 Jenkinsfile,提交到仓库。
  2. Jenkins 任务选择 "Pipeline script from SCM",指定仓库和文件路径。

7. 监控与安全

  • 日志查看
    进入任务控制台输出界面,实时查看构建日志。
  • 权限管理
    Manage Jenkins > Configure Global Security,启用 "Role-Based Strategy"。
  • 备份
    定期备份 /var/lib/jenkins 目录。

8. 常见问题解决

  • 权限不足
    sudo chown -R jenkins:jenkins /var/lib/jenkins
    
  • 插件安装失败
    更换 Jenkins 插件镜像源(Manage Jenkins > Plugin Manager > Advanced,修改 Update Site 为清华镜像)。
  • 端口冲突
    修改 Jenkins 端口:
    sudo systemctl edit jenkins
    # 添加 Environment="JENKINS_PORT=8081"
    sudo systemctl restart jenkins
    

总结

  • 快速开始:通过 Docker 或包管理器一键安装 Jenkins。
  • 核心能力:通过 Pipeline 实现代码构建、测试、部署全自动化。
  • 扩展性:集成 Docker/K8s、GitHub Webhook 等现代工具链。

完成后,团队可实现代码提交后自动触发测试和部署,显著提升交付效率! 🚀