centos jenkins怎么实现自动化
导读:在 CentOS 上落地 Jenkins 自动化的关键步骤 一 环境准备与安装 更新系统并安装依赖 执行:sudo yum update -y 安装:Java 8/11(二选一,建议 OpenJDK 11)、Git、wget Ope...
在 CentOS 上落地 Jenkins 自动化的关键步骤
一 环境准备与安装
- 更新系统并安装依赖
- 执行:
sudo yum update -y - 安装:Java 8/11(二选一,建议 OpenJDK 11)、Git、wget
- OpenJDK 11:
sudo yum install java-11-openjdk-devel -y - OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel -y - Git:
sudo yum install git -y
- OpenJDK 11:
- 执行:
- 添加 Jenkins 官方仓库并安装
- 仓库:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo - 导入 GPG:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key - 安装:
sudo yum install jenkins -y
- 仓库:
- 启动与开机自启
sudo systemctl start jenkinssudo systemctl enable jenkins
- 访问与解锁
- 浏览器访问:http://< 服务器IP> :8080
- 初始密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 防火墙放行
- 开放端口:
sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
- 开放端口:
- 建议
- 立即修改默认管理员密码,后续通过 HTTPS 访问增强安全性。
二 基础配置与插件
- 全局工具配置
- 进入:Manage Jenkins → Global Tool Configuration
- 配置 JDK(路径或自动安装)、Git、Maven(如项目需要)等工具,确保构建节点能找到对应命令。
- 推荐插件
- Git plugin、Maven Integration plugin、Pipeline、Generic Webhook Trigger、SSH Pipeline Steps(或 Publish Over SSH)、Blue Ocean(可选,优化流水线可视化)。
- 安全与权限
- 在 全局安全配置 中启用基于角色的访问控制(RBAC),并使用 HTTPS 访问控制台。
三 实现自动化触发与流水线
- 方式一 Freestyle 项目
- 新建任务 → 选择 Freestyle project
- 源码管理:配置 Git 仓库 URL、分支、凭证(SSH 或 HTTPS)
- 构建触发器:
- 定时构建(轮询 SCM):如
H/5 * * * *(每 5 分钟检查一次变更) - 远程触发:安装 Generic Webhook Trigger 插件,配置 Token,供 Git 仓库回调
- 定时构建(轮询 SCM):如
- 构建步骤:执行 Maven 构建(如
mvn clean package)、运行测试、归档产物(如target/*.jar) - 构建后操作:使用 SSH 将产物发布到目标服务器(如测试/生产环境),或调用部署脚本
- 方式二 Pipeline 项目(推荐)
- 在代码库根目录放置 Jenkinsfile,示例:
pipeline { agent any tools { maven 'Maven-3' jdk 'JDK-11' } // 与全局工具配置名称保持一致 stages { stage('Checkout') { steps { git branch: 'main', url: 'git@github.com:org/repo.git' } } stage('Build') { steps { sh 'mvn -B -DskipTests clean package' } } stage('Test') { steps { sh 'mvn test' } post { always { junit '**/target/surefire-reports/*.xml' } } } stage('Deploy') { steps { sh 'scp target/app.jar user@target:/opt/app/' sh 'ssh user@target "systemctl restart myapp || true"' } } } post { success { echo 'Build & Deploy SUCCESS' } failure { echo 'Build FAILED' } } } - Jenkins 任务选择 Pipeline script from SCM,指定仓库与 Jenkinsfile 路径。
- 在代码库根目录放置 Jenkinsfile,示例:
四 与 Git 仓库联动的 Webhook 配置
- GitHub / GitLab / Gitee 等平台
- 在仓库的 Webhooks 设置中,添加 Payload URL:
- 例如:
http://< JENKINS_URL> /generic-webhook-trigger/invoke - 选择触发事件(如 Push events、Merge Request 等),配置 Secret Token(与 Jenkins 任务中的 Token 一致)
- 例如:
- 若 Jenkins 在内网,使用 内网穿透/反向代理 或企业版 GitHub Enterprise 的 Outbound Webhooks 能力
- 在仓库的 Webhooks 设置中,添加 Payload URL:
- 安全建议
- 使用 HTTPS + Token 校验,限制可触发分支(如仅 main),并在 Jenkins 中启用 CSRF 保护。
五 常见场景与扩展
- 容器化交付
- 在 Jenkins 节点安装 Docker,在流水线中构建镜像并推送到仓库,然后在目标环境拉取并启动容器(可使用 Docker Pipeline 插件或
docker-compose)。
- 在 Jenkins 节点安装 Docker,在流水线中构建镜像并推送到仓库,然后在目标环境拉取并启动容器(可使用 Docker Pipeline 插件或
- 多环境部署与回滚
- 通过参数化构建选择 dev/staging/prod,结合 SSH 或 K8s 插件完成滚动升级;保留最近 N 个构建产物以便快速回滚。
- 安全与运维
- 以 Jenkins 用户运行构建步骤,注意目录与文件权限;定期更新 Jenkins 与插件;为生产环境启用 HTTPS 与访问控制。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos jenkins怎么实现自动化
本文地址: https://pptw.com/jishu/747786.html
