首页
/ Releasy 技术文档

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 上寻求帮助。

热门项目推荐
相关项目推荐

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
49
38
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
254
63
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
174
42
mybatis-plusmybatis-plus
mybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.com
Java
16
0
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
70
54
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
397
102
HarmonyOS-Cangjie-CasesHarmonyOS-Cangjie-Cases
参考 HarmonyOS-Cases/Cases,提供仓颉开发鸿蒙 NEXT 应用的案例集
Cangjie
55
2
PDFMathTranslatePDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker
Python
31
3
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
26
18
topiam-eiamtopiam-eiam
开源IDaas/IAM平台,用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。
Java
19
0