Surge 是一个快速部署工具,专门支持 iOS 项目,能够快速构建和推送应用到云端,支持自定义域名和 HTTPS,以下是使用 Surge 对 iOS 项目进行部署的详细步骤指南:
安装 Surge
使用 Homebrew(Mac 用户)
- 打开终端,输入以下命令安装 Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装 Surge:
brew install surge
- 验证 Surge 是否安装:
surge --version
从官方网站下载
如果不使用 Homebrew,可以直接从 Surge 官方网站下载并安装,下载完成后,双击安装包进行安装。
项目集成
集成 Surge 到项目中
-
修改 Podfile
打开项目的
Podfile,添加以下内容:use_frameworks! use_xctest_server! subspecs = ['App']
这样可以确保 Surge 正确集成到项目中。
-
在 Xcode 中配置
- 打开项目,在 Xcode 的菜单栏中选择 Edit > Schemes,点击右侧的 按钮,添加新的 scheme。
- 输入 scheme 的名称(
MyScheme),在 Build 菜单中选择Surge: $PODS_ROOT/...,填写正确的路径。
注意:确保
Build Options > Surge中的路径是正确的,通常是$(PODS_ROOT)/...,如果不确定,可以在 Xcode 中查找PODS_ROOT的值。 -
添加 Boost 支持(可选)
如果需要 Boost 库,修改
Podfile:use_frameworks! use_xctest_server! use boost subspecs = ['App']
构建和推送
推送到 Surge
-
在终端中执行以下命令,使用指定的 scheme 推送应用:
surge push myApp:MyScheme
myApp是项目名称,MyScheme是添加的 scheme 名称。
-
自定义域名和页面
- 如果需要自定义域名,首先在 Surge 网站上注册域名。
- 使用以下命令创建自定义页面配置文件:
surge configure myApp:MyScheme
按照提示输入域名和其他必要信息。
- 推送时使用配置文件:
surge push myApp:MyScheme --config myApp.surgeconfig
配置 HTTPS
- 在 Surge 网站上,选择你的应用,点击 Add Domain,输入你的域名。
- 在 DNS 提供商处,将 CNAME 记录指向
your-app.surgeapp.io。 - 在 Xcode 项目中,确保使用 AppClid 提供的证书,或者手动生成 SSL 定位书。
自动化部署
使用 Jenkins 或 GitHub Actions
-
GitHub Actions
- 创建一个
surge.yml文件,配置构建和推送:name: My App scheme: MyScheme server: surgeapp.io
- 添加工作流,触发构建和推送。
- 创建一个
-
Jenkins
配置一个 Jenkins 构建流,执行构建并调用 Surge 命令。
监控和维护
监控应用状态
- 使用
surge watch命令,自动重启应用。 - 结合其他工具(如 Xcode、Crashlytics)监控崩溃日志和性能。
定期更新
- 使用 Surge 自动化重新发布应用,确保定期更新以保持最新版本。
维护建议
- 定期检查应用性能和日志,及时修复问题。
- 使用 Xcode 工具分析日志和崩溃报告。
高级配置
- 多环境支持:创建不同的 scheme(如
Development、Production)进行环境切换。 - 自定义域名 SSL:在 Surge 配置中,添加自定义域名并上传 SSL 证书文件。




