十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

GDevelop 官方版本发布流程:更新版本号、等待 CI 构建并上传发布产物

GDevelop 官方版本发布流程:更新版本号、等待 CI 构建并上传发布产物 GDevelop 官方版本发布流程更新版本号、等待 CI 构建并上传发布产物【免费下载链接】GDevelop Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.项目地址: https://gitcode.com/GitHub_Trending/gd/GDevelop本文面向需要发布 GDevelop 官方桌面版Electron 版 IDE的维护者。完整流程是在newIDE/electron-app/app/package.json中更新版本号并合并到master等待 CI 为三个平台的构建产物就绪用仓库自带的下载脚本把产物取到本地最后上传到新建的 GitHub release。该流程记录在 newIDE/README.md 的 Building and deploying the standalone app 一节其中明确说明这一节只适用于要把官方应用部署到 GDevelop 网站的维护者普通贡献者不需要走这条路径。准备工作本地需要 GDevelop 源代码仓库、Git 和 Node.js安装说明见 newIDE/README.md 的 Installation 一节。构建与发布行为全部由 CI 完成本地机器不需要安装 Emscripten、代码签名工具等依赖。更新版本号并合并到 masterCI 为master分支的每次提交自动构建新版本见 newIDE/docs/Nightly-Builds-and-continuous-deployment.md所以发布版本的版本号必须先落到master上。修改 newIDE/electron-app/app/package.json 中的version字段。仓库当前值为5.6.281发布新版本时把第三位改为你的目标版本号例如version: 5.6.281,将该变更提交并合并到master。版本号同时决定产物文件名如 Windows 安装器为GDevelop 5 Setup version.exe和下载脚本的--version参数后续步骤必须与这里设置的值一致。等待 CI 构建完成合并提交后CI 会开始构建。newIDE/README.md 的描述是等待 CircleCI 与 AppVeyor 构建发布所需的产物分别是 macOSLinux 和 Windows。需要注意两份配置文件的口径差异appveyor.yml 文件头注释说明 Windows 构建已被 CircleCI 上的构建取代仅保留用于冗余/测试而 .circleci/config.yml 中同时包含build-macos、build-linux和build-windows三个任务。实操时以 CircleCI 管线为主要等待对象确认三个平台的构建任务都结束。判断构建是否完成的文档依据在 GitHub 上查看该提交的状态确认显示ci/circleci: build — Your tests passed on CircleCI!且状态图标为绿色若图标非绿色构建仍在进行先等待newIDE/docs/Nightly-Builds-and-continuous-deployment.md 给出的判断方法。构建成功后newIDE/electron-app/dist目录的内容会被同步到 S3 的两个位置s3://gdevelop-releases/branch/commit/commit-hash/和s3://gdevelop-releases/branch/latest/同步命令见 .circleci/config.yml 中 Deploy to S3 (specific commit) 与 Deploy to S3 (latest) 步骤。记下这次发布对应的提交哈希下一步下载建议按提交下载原因见下文。下载发布产物README 指定使用 newIDE/app/scripts/download-all-build-artifacts.js 脚本一次性下载全部发布产物。脚本有四个参数--outputPath产物存放目录必填不存在时脚本会自动创建--branch分支名如master必填--version与 package.json 中一致的目标版本号必填--commitHash提交哈希可选。不传时脚本从该分支的latest目录下载。脚本从https://gdevelop-releases.s3.amazonaws.com/branch/...下载一套固定清单的产物包括Windows 的 exe 安装器及其.blockmap、.appx、便携版 zip 和自动更新文件latest.ymlmacOS 的 universal zip、dmg、.blockmap和latest-mac.ymlLinux 的 amd64/arm64 AppImage、便携版 zip 和latest-linux.yml、latest-linux-arm64.yml。完整清单见脚本内artifactsToDownload定义。脚本自身依赖shelljs、minimist和本地lib/DownloadLocalFile辅助模块.circleci/config.yml中记录的独立运行方式是另装它需要的四个包axios、minimist、shelljs、adm-zip并通过NODE_PATH暴露。以下命令按该方式执行commit-hash替换为你这次发布对应的提交哈希5.6.281替换为你实际设置的版本号mkdir gdl-release-deps cd gdl-release-deps npm init -y npm install --no-audit --no-fund \ axios^0.18.1 \ minimist^1.2.5 \ shelljs^0.8.4 \ adm-zip^0.5.10 cd .. NODE_PATH$PWD/gdl-release-deps/node_modules \ node newIDE/app/scripts/download-all-build-artifacts.js \ --outputPath ./releases-5.6.281 \ --branch master \ --version 5.6.281 \ --commitHash commit-hash关于--commitHash有一个文档明确的注意事项latest目录是按平台各自更新的。如果某一个平台的构建已结束、另一个还在进行或失败从latest下载会得到来自不同提交哈希的产物混合。脚本在这种情况下会打印警告并建议使用--commitHash下载一致的产物集因此发布正式版本时应始终传--commitHash。下载结果的判断每个产物成功后会打印Done downloading ...任何产物失败时脚本打印❌ Failed to download ... Aborting.并以退出码 2 结束同时列出失败项及原因。错误含义见脚本内describeDownloadError404表示not found (404). The artifact may not have been built yet带--commitHash时403或404表示该提交在对应分支/平台上可能不存在或产物尚未构建。遇到这些提示时应回到上一节确认 CI 是否真的构建完成。上传到 GitHub release产物下载完成后按 newIDE/README.md 的最后一步将下载到的文件上传到新建的 GitHub release。README 对产物完整性没有给出额外的校验命令本地检查以上一步脚本全部成功无Aborting输出为准。可选的本地替代路径README 说明也可以在newIDE/electron-app目录下执行npm run build手动构建一个桌面版本。这条路径用于本地出包不替代 CI 产物的正式发布流程。边界与相关但不属于本文的步骤桌面版之外网页版web app的发布是另一条命令cd newIDE/web-app yarn deploy它会同时上传 GDJS 与扩展源码并清除 CloudFlare 缓存。它不影响桌面版产物按需单独执行。master分支的 Nightly 构建虽然每个提交都在产出但文档提醒它们未经测试、可能包含 bug公开版本仍通过本文的合并版本号 手动上传 release流程发布以便人工测试把关。【免费下载链接】GDevelop Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.项目地址: https://gitcode.com/GitHub_Trending/gd/GDevelop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表