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

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

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
373
72
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
276
72
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
200
47
xzs-mysqlxzs-mysql
学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署
HTML
5
1
LangChatLangChat
LangChat: Java LLMs/AI Project, Supports Multi AI Providers( Gitee AI/ 智谱清言 / 阿里通义 / 百度千帆 / DeepSeek / 抖音豆包 / 零一万物 / 讯飞星火 / OpenAI / Gemini / Ollama / Azure / Claude 等大模型), Java生态下AI大模型产品解决方案,快速构建企业级AI知识库、AI机器人应用
Java
11
3
gin-vue-admingin-vue-admin
🚀Vite+Vue3+Gin的开发基础平台,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器【可AI辅助】、表单生成器和可配置的导入导出等开发必备功能。
Go
16
3
source-vuesource-vue
🔥 一直想做一款追求极致用户体验的快速开发平台,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间对若依框架进行扩展写了一套快速开发系统。如此有了开源字节快速开发平台。该平台基于 Spring Boot + MyBatis + Vue & Element ,包含微信小程序 & Uniapp, Web 报表、可视化大屏、三方登录、支付、短信、邮件、OSS...
Java
24
2
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
898
0
madongmadong
基于Webman的权限管理系统
PHP
4
0
cool-admin-javacool-admin-java
🔥 cool-admin(java版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于springboot3、typescript、vue3、vite、element-ui等构建
Java
18
2