news 2026/6/10 13:56:21

蓝易云 - Java+Github+Jenkins部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蓝易云 - Java+Github+Jenkins部署

蓝易云|Java + GitHub + Jenkins 一键式部署(从提交到上线的最小可用闭环)🚀

面向 2026 的默认建议:JDK 选Java 25 LTS(或保守用 Java 21 LTS),Jenkins 选LTS分支,保证“可升级、可回滚、可审计”。JDK 25 已在 2025-09-16 GA 且为 LTS。(openjdk.org) Jenkins LTS 会持续调整运行时 Java 要求(新 LTS 逐步走向 Java 17/21 作为底座)。(Jenkins)


目标架构(你要的不是“能跑”,而是“可运营”)🙂

flowchart LR A[GitHub Push/PR] --> B[Webhook 触发] B --> C[Jenkins Pipeline <span style="color:#e53935;font-weight:700;">Jenkinsfile</span>] C --> D[编译/单测/制品] D --> E[部署: Docker 或 systemd] E --> F[健康检查/回滚/通知]

1)Jenkins 用 Docker 起一个“标准化控制面”✅

docker run -d --name jenkins \ -p 8080:8080 -p 50000:50000 \ -v jenkins_home:/var/jenkins_home \ jenkins/jenkins:lts

解释:

  • -d:后台运行,避免占用当前终端。

  • -p 8080:8080:把 Jenkins Web 控制台映射到宿主机 8080。

  • -p 50000:50000:Jenkins agent 通信端口(后续分布式构建用)。

  • -v jenkins_home:...:把配置与任务数据做持久化,不然容器一重启你就“失忆”。

  • jenkins/jenkins:lts:用 LTS 线,升级节奏更稳;LTS 基线按周期选取并持续回补修复。(Jenkins)


2)把 GitHub 接进来:触发机制要“确定”🔔

Jenkins 侧(Pipeline Job)

在 Jenkins 创建Pipeline类型任务,源码选择 Git,凭据使用Credentials管理;Declarative Pipeline 支持credentials()注入密钥,避免把 Token 写进仓库。(Jenkins)

GitHub 侧(Webhook)

在仓库配置 Webhook,指向 Jenkins 的.../github-webhook/(路径固定)。这样每次 push/PR 就能触发构建;注意只触发你允许的分支(例如 main/release),避免“随手一推全线上线”的喜剧事故。


3)核心交付物:一份精简但可扩展的 Jenkinsfile 🧩

pipeline { agent any environment { DOCKERHUB = credentials('dockerhub-cred') // <span style="color:#e53935;font-weight:700;">密钥托管</span> } stages { stage('Checkout') { steps { checkout scm } } stage('Build&Test') { steps { sh 'mvn -U -e -DskipTests=false test package' } } stage('Docker Build') { steps { sh 'docker build -t myapp:${BUILD_NUMBER} .' } } stage('Deploy') { steps { sh 'docker compose up -d --no-deps --build app' } } } post { always { archiveArtifacts artifacts: 'target/*.jar', fingerprint: true } } }

逐段解释:

  • pipeline { ... }:定义流水线骨架,Declarative 语法可读性更强,适合团队协作。(Jenkins)

  • agent any:在任意可用节点执行;后续你可以把构建与部署拆到不同 agent,做权限隔离。

  • environment + credentials():把账号密钥放在 Jenkins 管控面,仓库只存逻辑不存秘密。(Jenkins)

  • Checkout:拉代码,保证构建基于“可追溯版本”。

  • mvn ... test package:先测再打包,避免把 bug 当成版本发布(这类成本最高)。

  • docker build:把运行环境与应用打成不可变镜像,减少“我本地能跑”的争议。

  • docker compose up -d ...:滚动重建并拉起服务;--no-deps避免无关依赖被误重启。

  • post always + archiveArtifacts:归档 jar 作为制品证据链,方便回滚与审计。


4)原理解释表(把风险点提前关进流程里)📌

环节关键控制点为什么重要常见坑
触发Webhook + 分支白名单防止误触发上线所有分支都触发
构建单测 + 可重复构建缺陷前移、降低返工跳过测试赶进度
制品制品归档回滚有抓手线上版本不可追溯
部署不可变镜像/幂等发布稳定、可回退手工改服务器
安全凭据托管/最小权限降低泄露面Token 写进仓库

你可以立刻落地的两条路线(务实选择)

  • 追求速度:Docker + Compose 直接部署(上面 Jenkinsfile 已覆盖)🙂

  • 追求管控:制品推到制品库,再由发布机拉取并 systemd 托管(适合更严格的权限分层)

如果你告诉我:你的项目是Spring Boot jar还是多模块 Maven,以及部署目标是单机还是多台,我可以把 Jenkinsfile 精准改成“可直接复制上线”的生产版(包含健康检查、灰度与一键回滚)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 18:17:26

利用Qwen2.5-7B-Instruct镜像快速构建本地大模型服务

利用Qwen2.5-7B-Instruct镜像快速构建本地大模型服务 一、引言&#xff1a;为何选择本地化部署Qwen2.5-7B-Instruct&#xff1f; 随着大语言模型&#xff08;LLM&#xff09;在自然语言处理领域的广泛应用&#xff0c;越来越多企业与开发者开始关注如何在本地环境中高效部署高…

作者头像 李华
网站建设 2026/6/10 11:42:20

【开题答辩过程】以《基于python招聘数据分析可视化系统》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看

个人简介慕婉学姐精通Java、PHP、微信小程序、Python、Golang和安卓开发等语言&#xff0c;擅长开发大数据、深度学习、网站、小程序、安卓应用和算法项目。平时从事项目定制开发、代码讲解、答辩教学和文档编写&#xff0c;也掌握一些降重技巧。感谢大家的持续关注&#xff01…

作者头像 李华
网站建设 2026/6/10 9:28:08

智能抠图Rembg:电商主图制作全流程

智能抠图Rembg&#xff1a;电商主图制作全流程 1. 引言&#xff1a;智能万能抠图 - Rembg 在电商运营、广告设计和内容创作中&#xff0c;高质量的商品主图是提升转化率的关键。传统抠图依赖人工使用Photoshop等工具进行精细处理&#xff0c;耗时长、成本高&#xff0c;且对操…

作者头像 李华
网站建设 2026/6/10 11:41:10

提升大模型服务效率|Qwen2.5-7B + vLLM + OpenResty集成实践

提升大模型服务效率&#xff5c;Qwen2.5-7B vLLM OpenResty集成实践 一、引言&#xff1a;为何需要高效的大模型推理架构&#xff1f; 随着大语言模型&#xff08;LLM&#xff09;在自然语言理解、代码生成、数学推理等任务中的广泛应用&#xff0c;如何将高性能模型高效部…

作者头像 李华
网站建设 2026/6/10 11:43:24

Qwen2.5-7B大模型集成vLLM推理加速实践指南

Qwen2.5-7B大模型集成vLLM推理加速实践指南 一、学习目标与背景介绍 随着大语言模型&#xff08;LLM&#xff09;在自然语言处理领域的广泛应用&#xff0c;如何高效部署和推理成为工程落地的关键挑战。本文将围绕 Qwen2.5-7B 模型&#xff0c;结合 vLLM 推理框架&#xff0c…

作者头像 李华
网站建设 2026/6/10 13:21:22

基于文献查询的信息检索与应用研究

盯着满屏的PDF&#xff0c;眼前的外语字母开始跳舞&#xff0c;脑子里只剩下“我是谁、我在哪、这到底在说什么”的哲学三问&#xff0c;隔壁实验室的师兄已经用AI工具做完了一周的文献调研。 你也许已经发现&#xff0c;打开Google Scholar直接开搜的“原始人”模式&#xff…

作者头像 李华