首页 > 其他分享 >Halo 开发者指南——项目运行、构建

Halo 开发者指南——项目运行、构建

时间:2024-09-14 16:35:33浏览次数:1  
标签:指南 git Halo dev 构建 开发者 halo localhost

准备工作

环境要求

名词解释

工作目录

指 Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 halo-next 的文件夹,绝对路径为 ~/halo-next。里面通常包含下列目录或文件:

  1. db​:存放 H2 Database 的物理文件,如果你使用其他数据库,那么不会存在这个目录。
  2. themes​:里面包含用户所安装的主题。
  3. plugins​:里面包含用户所安装的插件。
  4. attachments​:附件目录。
  5. logs​:运行日志目录。

开发环境运行

项目结构说明

目前如果需要完整的运行 Halo,总共需要三个部分:

  1. Halo 主项目(halo-dev/halo
  2. UI,包括 Console 控制台和 UC 个人中心(托管在 Halo 主项目)
  3. 主题(Halo 主项目内已包含默认主题)

说明

从 Halo 2.11 开始,Halo 项目的 ui​ 目录同时包含了 Console(管理控制台)和 UC(个人中心),以下统称为 UI。

当前 Halo 主项目并不会将 UI 的构建资源托管到 Git 版本控制,所以在开发环境是需要同时运行 UI 项目的。当然,在我们的最终发布版本的时候会在 CI 中自动构建 UI 到 Halo 主项目。

克隆项目

如果你已经 Fork 了相关仓库,请将以下命令中的 halo-dev​ 替换为你的 GitHub 用户名。

git clone https://github.com/halo-dev/halo

# 或者使用 ssh 的方式 clone(推荐)
# git clone [email protected]:halo-dev/halo.git

# 或者使用 GitHub CLI 克隆(推荐)
# gh repo clone halo-dev/halo 

# 或者使用 GitHub CLI Fork(推荐)
# gh repo fork halo-dev/halo

运行 UI 服务

cd path/to/halo/ui
pnpm install
pnpm build:packages
pnpm dev

最终控制台打印了如下信息即代表运行正常:

VITE v4.2.3  ready in 638 ms

# Console 控制台服务
➜  Local:   http://localhost:3000/console/

# UC 个人中心服务
➜  Local:   http://localhost:4000/uc/

请不要直接使用 UI 的运行端口(3000 / 4000)访问,会因为跨域问题导致无法正常登录,建议按照后续的步骤以 dev 的配置文件运行 Halo,在 dev 的配置文件中,我们默认代理了 UI 页面的访问地址,所以后续访问 UI 页面使用 http://localhost:8090/console​ 和 http://localhost:8090/uc​ 访问即可,代理的相关配置:

halo:
  console:
    proxy:
      endpoint: http://localhost:3000/
      enabled: true
  uc:
    proxy:
      endpoint: http://localhost:4000/
      enabled: true

运行 Halo

  1. 在 IntelliJ IDEA 中打开 Halo 项目,等待 Gradle 初始化和依赖下载完成。

  2. 下载预设插件(可选)

    # Windows
    ./gradlew.bat downloadPluginPresets
    
    # macOS / Linux
    ./gradlew downloadPluginPresets
    
  3. 修改 IntelliJ IDEA 的运行配置

    • Windows
      将 Active Profiles 改为 dev,win​,如图所示:
      IntelliJ IDEA Profiles
    • macOS / Linux
      将 Active Profiles 改为 dev​,如图所示:
      IntelliJ IDEA Profiles
  4. 点击 IntelliJ IDEA 的运行按钮,等待项目启动完成。

  5. 或者使用 Gradle 运行

    # macOS / Linux
    ./gradlew bootRun --args="--spring.profiles.active=dev"
    
    # Windows
    gradlew.bat bootRun --args="--spring.profiles.active=dev,win"
    
  6. 最终提供以下访问地址:

    1. 网站首页:http://localhost:8090
    2. Console 控制台:http://localhost:8090/console
    3. UC 个人中心:http://localhost:8090/uc

构建

一般情况下,为了保证版本一致性和可维护性,我们并不推荐自行构建和二次开发。

构建 Docker 镜像

一般情况下,为了保证版本一致性和可维护性,我们并不推荐自行构建和二次开发。

克隆项目

如果你已经 Fork 了相关仓库,请将以下命令中的 halo-dev​ 替换为你的 GitHub 用户名。

git clone https://github.com/halo-dev/halo

# 或者使用 ssh 的方式 clone(推荐)
# git clone [email protected]:halo-dev/halo.git

# 或者使用 GitHub CLI 克隆(推荐)
# gh repo clone halo-dev/halo 

# 或者使用 GitHub CLI Fork(推荐)
# gh repo fork halo-dev/halo

cd halo

# 切换到特定的分支或标签,请替换 ${branch_name}
git checkout ${branch_name}

构建 Fat Jar

构建之前需要修改 gradle.properties​ 中的 version​ 属性(推荐遵循 SemVer 规范),例如:version=2.19.0

cd path/to/halo

下载预设插件(可选):

# Windows
./gradlew.bat downloadPluginPresets

# macOS / Linux
./gradlew downloadPluginPresets

构建:

# Windows
./gradlew.bat clean build -x check

# macOS / Linux
./gradlew clean build -x check

构建完成之后,在 Halo 项目下产生的 application/build/libs/halo-${version}.jar​ 即为构建完成的文件。

最终部署文档可参考:使用 JAR 文件部署

构建 Docker 镜像

在此之前,请确认已经构建好了 Fat Jar。

cd path/to/halo
# 请替换 ${tag_name}
docker build -t halo-dev/halo:${tag_name} .
# 插件构建完成的版本
docker images | grep halo

最终部署文档可参考:使用 Docker Compose 部署

在此之前,请确认已经构建好了 Fat Jar。

cd path/to/halo
# 请替换 ${tag_name}
docker build -t halo-dev/halo:${tag_name} .
# 插件构建完成的版本
docker images | grep halo

最终部署文档可参考:使用 Docker Compose 部署


原文链接:https://docs.halo.run/category/系统开发

标签:指南,git,Halo,dev,构建,开发者,halo,localhost
From: https://www.cnblogs.com/shenhuanjie/p/18414287/halo-developer-guide-project-operation-and-

相关文章

  • 谷歌个人开发者账号申请流程
    需支付25美金用于创建Google开发者账号的,Google账号只能使用Visa、Master、JCB、运通卡或Discover(国内用户建议使用招商的信用卡,其他行的支付有时会不成功),只需支付一次,即可永久使用创建Play管理中心开发者账号所需的必要信息https://support.google.com/googleplay/android-devel......
  • 《 C++ 修炼全景指南:九 》打破编程瓶颈!掌握二叉搜索树的高效实现与技巧
    摘要本文详细探讨了二叉搜索树(BinarySearchTree,BST)的核心概念和技术细节,包括插入、查找、删除、遍历等基本操作,并结合实际代码演示了如何实现这些功能。文章深入分析了二叉搜索树的性能优势及其时间复杂度,同时介绍了前驱、后继的查找方法等高级功能。通过自定义实现的......
  • Hume AI 推出 EVI 2 情感模型;OpenAI o1 模型问世,模拟人类思考问题 丨 RTE 开发者日报
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个......
  • 洛谷题单指南-分治与倍增-P7167 [eJOI2020 Day1] Fountain
    原题链接:https://www.luogu.com.cn/problem/P7167题意解读:从喷泉任意一个圆盘倒水,水流经的圆盘直径必须递增,水最后流到哪个圆盘。解题思路:1、枚举法有30%的数据范围在N<=1000,Q<=1000,因此枚举也可以得到30分。可以通过单调栈预计算每个圆盘后面第一个直径更大的圆盘位置Next[......
  • 2024想转行做大模型?AI产品经理们,先看看这份指南
    如果你想转行做大模型,作为一名AI产品经理,你可以怎么做呢?或许,你可以先进行自我检测,看看自己是否真的适合转行做大模型。这篇文章里,作者便给想转行做大模型的AI产品经理们提出了一些建议,不妨来看看吧。作为一个产品经理,你可能已经熟悉了一些常见的AI技术和应用,比如机器学......
  • 《开源大模型食用指南》,一杯奶茶速通大模型!新增Examples最佳实践!
    01「Example系列的前世今生」我们希望成为LLM与普罗大众的阶梯,以自由、平等的开源精神,拥抱更恢弘而辽阔的LLM世界。Self-llm开源项目是一个围绕开源大模型、针对国内初学者、适合中国宝宝的专属大模型教程,针对各类开源大模型提供包括环境配置、本地部署、高效微调......
  • 《DNK210使用指南 -CanMV版 V1.0》第二十四章 LCD显示实验
    第二十四章LCD显示实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点原......
  • 选择困难症必看!从功能到应用场景,TAPD与禅道全面对比指南
    在当今这个信息化、数字化的时代,项目管理工具已经成为企业提升效率、优化流程、加强团队协作的必备神器。而在众多项目管理工具中,TAPD(腾讯敏捷产品开发平台)和禅道(Zentao)无疑是两款备受瞩目的佼佼者。它们各自拥有独特的功能和优势,适用于不同的应用场景。那么,面对这两款优秀的......
  • 不小心删除了华为的短信?巧用本指南可提供帮助
    不小心删除了华为的短信并希望将其恢复?如果是这样,请参阅本指南,了解从华为手机中恢复已删除的文本的简单快捷的方法。如何在华为手机上找回错误操作删除的短信?**抽象****不小心删除了您的华为上的消息并想恢复它们?**不要再犹豫了!本指南提供了一种简单快捷的解决方案来恢复......
  • 新手编程竞赛入门指南 [Cloned]
    欢迎加入编程竞赛协会(QQ群:)进入协会QQ群,联系纳新管理员xixu、ssmy,需提交信息(学院、班级、姓名、学号,vjudge帐号),通过审核后邀请加入“程序设计竞赛组”开展编程学习做题训练。受人数限制,一段时间不参与活动者会被移除。新手编程竞赛入门指南编程是程序设计的简称。计算机通过各种......