Releasy 技术文档
2024-12-26 09:48:46作者:昌雅子Ethen
1. 安装指南
1.1 安装 Releasy
Releasy 是一个用于自动化发布 Ruby 应用程序的工具,适用于非 Ruby 用户。你可以通过以下命令安装 Releasy:
$ gem install releasy
1.2 外部依赖
Releasy 依赖于一些外部工具,以下是安装这些工具的指南:
1.2.1 7-Zip
Releasy 需要使用 7z 命令来进行压缩和解压缩操作。你可以通过以下方式安装 7-Zip:
-
OS X (Homebrew):
$ brew install p7zip
-
Ubuntu/Debian:
$ sudo apt-get install p7zip-full
-
Windows:
- 32 位系统:Releasy 自带了 32 位的 7z 可执行文件。
- 64 位系统:你可以安装 64 位的 7-Zip 以获得更好的性能。
1.2.2 InnoSetup (仅限 Windows)
如果你需要在 Windows 上构建安装包,你需要安装 InnoSetup。
1.2.3 RubyInstaller (仅限 OS X/Linux)
如果你在非 Windows 系统上构建 Windows 可执行文件,你需要下载 RubyInstaller 7-ZIP 压缩包。
2. 项目的使用说明
2.1 配置 Rakefile
在你的 Ruby 项目中,你需要配置 Rakefile
来使用 Releasy。以下是一个示例配置:
require 'rubygems'
require 'bundler/setup' # Releasy 要求使用 Bundler
require 'releasy'
Releasy::Project.new do
name "My Application"
version "1.3.2"
verbose # 如果你不想看到所有构建消息,可以移除这行
executable "bin/my_application.rb"
files "lib/**/*.rb", "config/**/*.yml", "media/**/*.*"
exposed_files "README.html", "LICENSE.txt"
add_link "http://my_application.github.com", "My Application website"
exclude_encoding # 如果你的应用不使用高级编码(如日文字符),可以使用这个选项来减少构建大小
# 创建适用于所有平台的发布版本
add_build :osx_app do
url "com.github.my_application"
wrapper "wrappers/gosu-mac-wrapper-0.7.41.tar.gz" # 假设这是你下载的文件路径
icon "media/icon.icns"
add_package :tar_gz
end
add_build :source do
add_package :"7z"
end
add_build :windows_folder do
icon "media/icon.ico"
executable_type :windows # 假设你不想在运行时显示控制台窗口
add_package :exe # Windows 自解压压缩包
end
add_build :windows_installer do
icon "media/icon.ico"
start_menu_group "Spooner Games"
readme "README.html" # 安装后询问用户是否查看 readme
license "LICENSE.txt" # 安装前要求用户阅读并确认许可协议
executable_type :windows # 假设你不想在运行时显示控制台窗口
add_package :zip
end
add_build :windows_wrapped do
wrapper "wrappers/ruby-1.9.3-p0-i386-mingw32.7z" # 假设这是你下载的文件路径
executable_type :windows # 假设你不想在运行时显示控制台窗口
exclude_tcl_tk # 假设你的应用不使用 Tcl/Tk,可以使用这个选项来减少构建大小
add_package :zip
end
add_deploy :local # 仅本地部署
end
2.2 生成的 Rake 任务
配置完成后,Releasy 会生成一系列 Rake 任务。你可以通过 rake -T
查看所有可用的任务。以下是一些常见的任务示例:
rake build # 构建 My Application 1.3.2
rake build:osx # 构建所有 OS X 版本
rake build:osx:app # 构建 OS X 应用
rake build:source # 构建源代码版本
rake build:windows # 构建所有 Windows 版本
rake build:windows:folder # 构建 Windows 文件夹版本
rake build:windows:installer # 构建 Windows 安装包
rake deploy # 部署 My Application 1.3.2
rake deploy:osx:app:tar_gz:local # 本地部署 OS X 应用的 .tar.gz 包
rake deploy:source:7z:local # 本地部署源代码的 .7z 包
rake deploy:windows:folder:exe:local # 本地部署 Windows 文件夹的 .exe 包
rake deploy:windows:installer:zip:local # 本地部署 Windows 安装包的 .zip 包
rake package # 打包 My Application 1.3.2
rake package:osx:app:tar_gz # 打包 OS X 应用的 .tar.gz 包
rake package:source:7z # 打包源代码的 .7z 包
rake package:windows:folder:exe # 打包 Windows 文件夹的 .exe 包
rake package:windows:installer:zip # 打包 Windows 安装包的 .zip 包
3. 项目 API 使用文档
3.1 构建类型
Releasy 支持多种构建类型,以下是一些常见的构建类型:
:source
: 纯源代码文件夹,适用于已经安装了 Ruby 的用户。:osx_app
: OS X 应用包 (.app),需要预制的 Ruby OS X 包装器。:windows_folder
: 包含 Ruby 和应用程序源文件的文件夹,适用于 Windows 用户。:windows_wrapped
: 包含 Ruby 和应用程序源文件的文件夹,需要 RubyInstaller 压缩包。:windows_installer
: Windows 安装包,需要 InnoSetup。:windows_standalone
: 独立的 EXE 文件,自解压到临时目录。
3.2 打包类型
Releasy 支持多种打包类型,以下是一些常见的打包类型:
:"7z"
: 7Zip 格式 (.7z),压缩率最高。:dmg
: OS X 自解压格式 (.dmg),仅适用于 OS X。:exe
: Windows 自解压格式 (.exe),适用于 Windows。:tar_bz2
: Bzip2 压缩包 (.tar.bz2)。:tar_gz
: Gzip 压缩包 (.tar.gz)。:zip
: 标准 zip 格式 (.zip),兼容性最好。
3.3 部署类型
Releasy 支持多种部署类型,以下是一些常见的部署类型:
:local
: 本地部署,例如将文件复制到本地 Web 服务器或 Dropbox 文件夹。:rsync
: 使用 rsync 上传到远程服务器。
4. 项目安装方式
4.1 安装 Releasy
你可以通过以下命令安装 Releasy:
$ gem install releasy
4.2 安装 Windows 自解压模块
如果你在非 Windows 系统上使用 Releasy,并且需要使用 :exe
打包格式,你可以通过以下命令安装 Windows 自解压模块:
$ releasy install-sfx [options]
4.3 安装外部依赖
确保你已经安装了所有必要的外部依赖,如 7-Zip、InnoSetup 和 RubyInstaller 压缩包。
通过以上文档,你应该能够顺利安装、配置和使用 Releasy 来发布你的 Ruby 应用程序。如果你有任何问题,可以参考项目的 Github 页面 或在 IRC 频道 #releasy
上寻求帮助。
热门项目推荐
相关项目推荐
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava00
- open-eBackupopen-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。HTML054
- 每日精选项目🔥🔥 12.26日推荐:集成到 Windows 资源管理器中的批量文件转换器🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~017
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie042
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0102
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012
- excelizehttps://github.com/xuri/excelize Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML 技术标准。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,目前是 Go 开源项目中唯一支持复杂样式 XLSX 文件的类库,可应用于各类报表平台、云计算和边缘计算系统。Go02
热门内容推荐
最新内容推荐
项目优选
收起
openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
49
38
HarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
254
63
Cangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
174
42
mybatis-plus
mybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com
低代码组件库 http://aizuda.com
Java
16
0
open-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
70
54
advanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
397
102
HarmonyOS-Cangjie-Cases
参考 HarmonyOS-Cases/Cases,提供仓颉开发鸿蒙 NEXT 应用的案例集
Cangjie
55
2
PDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker
Python
31
3
RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
26
18
topiam-eiam
开源IDaas/IAM平台,用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。
Java
19
0