使用GAMS引擎和GitHub Actions进行自动 GAMS模型测试
软件开发很依赖自动化和持续集成(CI)以确保在开发过程的早期发现错误。Jenkins是一个被大量采用的开源自动化服务器,并且是GAMS每天都使用的工具之一。借助GitLab CI/CD和GitHub Actions,两大存储平台近年来也加入了自己的持续集成产品。对于GAMS模型的开发人员来说,Jenkins 、GitHub和GitLab的CI功能并不便于使用,因为构建构成很难与可用于运行测试代码的GAMS安装进行通信。
现在我们的新产品GAMS引擎改变了这种情况。对于那些还不知道的人,GAMS Engine提供了一个REST API,可用于将GAMS作业提交和运行到一个中心位置。
下面我们将概述GitHub上GAMS模型开发人员 如何轻松使用Engine为其模型运行自动化测试。同样的原则也适用于GitLab和Jenkins。
一个GitHub示例
先决条件包括:
-
包含GAMS模型代码的GitHub存储库。
-
访问GAMS引擎实例的凭据。
它是如何完成的
“GitHub Actions”背后的概念很简单。简而言之:
代码存储中发生的事件(例如推送新提交)都可触发工作流。
工作流包含一个或多个作业,这些在称为运行器的计算资源上执行。作业中发生的全部事情都在同一个运行器上按吮吸运行,默认情况下,多个作业在多个运行器上同时运行。您可以选择基于Linux、Windows或Mac OS 的运行器。GitHub提供了向单慷慨的运行时间配额,对于大多数项目来说应该足够了。
每个作业都包含了一个或多个步骤。典型的步骤可以是“将新版本从存储库签出到运行器”、“编辑源代码”、“将某些东西部署到服务器”等等。
每一步骤都调用动作或执行shell命令。行动是实际做某事的事情。
如何使用GitHub操作?
要定义工作流程,您可以在.GitHub/workflows/源存储库中创建一个YAML文件。将新提交推送到存储库时,将运行以下工作流。它检查对新运行程序的新提交,准备模型以提交给GAMS Engine,然后在Engine上以编译模式运行模型:


关于可以传递给“运行作业”操作的参数,应该解释一些事情:
你可以看到我们使用了一些形式的变量${{ secrets.xyz }}。这些变量可以以加密形式存储在模型存储库中。您需要将这些秘密设置为指向URL您选择的引擎实例的,并同时提供USER和PASSWORD。
后一行中使用的${{ github.workspace }}变量包含运行器内部的路径,您的代码在作业中通过“checkout”操作签出。
该参数a=c导致模型由GAMS工作者便于,但不执行。这足以捕获语法错误,并确保工作流程能够快速完成。
一旦将此工作流文件添加到存储库并对其进行修改以适合您的模型,每次推送到存储库都会触发模型在Engine上的运行。如果模型编译失败,运行将失败并发送电子通知邮件。

-
2026-03-10
GTAP数据库 V12已正式发布 - 附视频介绍
GTAP(Global Trade Analysis Project)是一个设立在美国普渡大学农业经济系的经济研究组织。该项目成立于1992年,旨在为贸易政策分析和可计算一般均衡(CGE)建模提供数据支持。全新版GTAP V12已于2026年2月正式发布,欢迎联系北京睿驰科技订购正版GTAP数据库。
查看详情 >
-
2026-03-26
Origin 2026 SR1 服务更新包发布
Origin 2026 服务更新包1现已发布,适用于更新现有Origin或OriginPro 2026 SR0安装或全新安装。本次更新修正了智能填充、Excel公式、分组绘图批量操作及合并图形兼容性等多处问题,并解决了部分崩溃错误。安装后版本号将升级到10.3.0.197,用户可通过“帮助:关于Origin”确认更新完成。
查看详情 >
-
2026-04-13
GMS 10.9 中文版正式发布 — 新增 PFAS 运移模拟与地下水能量(GWE)模块
GMS 10.9 中文版现已发布。本次更新新增 MODFLOW-USG Transport 对 PFAS 运移模拟的支持、MODFLOW 6 地下水能量(GWE)模型、UGrid 多项改进以及 MODFLOW 6 界面优化等功能,为地下水数值模拟与地热储能分析提供更多工具支持。
查看详情 >
