Travis-CI是一个持续集成工具,它将在每次提交时为GitHub存储库运行测试。
Matomo使用Travis在每次提交(对于每个分支和拉请求)时自动运行它的测试套件。PHP和UI测试在matomo-org matomo构建
每个开发人员都有责任保持构建的绿色。
插件也可以这样做,如果它们包含.travis.yml
文件在他们的github存储库。方法生成此文件生成:travis-yml
控制台命令:
$ ./console generate:travis-yml——plugin=MyPlugin——php-versions="7.2,7.4"——distribution="bionic"——sudo-false——verbose
该命令将自动检测插件中是否有PHP和/或UI测试测试/
目录,并创建.travis.yml
文件将运行它们。测试将与马托莫一起进行4. x-dev
分支和针对最新的稳定版本。
的生成:travis-yml
当我们修改Travis构建过程时,命令将随着时间的推移而改变。生成的.travis.yml
文件将从Travis内部检查它是否过时,并通过构建失败让您知道。在这种情况下,您将不得不重新运行该命令并提交更改以使构建再次运行。
你可以控制生成的.travis。yml文件behaves, by setting certain environment variables in your .travis.yml file.
这些变量可以让你下载其他的,针对特定的Matomo版本测试你的插件等等。
下面是所有支持的环境变量列表:
TEST_AGAINST_CORE
该变量可以设置为minimum_required_piwik
来测试在你的插件中指定的所需的Matomo版本。json清单。
这个变量不应该被设置为全局环境变量,而是应该作为一个条目添加到.travis中。yml文件的矩阵:
部分,如:
TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_CORE=minimum_required_piwik . env: matrix: - TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL
默认情况下,一个构建将针对所需的最低Matomo版本运行PHP测试。
PIWIK_TEST_TARGET
此变量可用于指定确切的Matomo版本号/分支或maximum_supported_piwik
测试结果应该与测试结果相反。通过指定maximum_supported_piwik
您的测试将根据您的系统中最高支持的Matomo版本号自动运行plugin.json
.如果没有指定Matomo的最大版本,测试将自动针对最新的beta版本运行。中指定最大版本plugin.json
你可以eg指定"require": {"piwik": ">=2.15.0-rc1,<=2.15.1-b11"}
.在这种情况下,支持的最大版本是2.15.1-b11
.有关如何在插件中指定受支持的Matomo版本的更多信息,请参阅分发你的Matomo插件指南。
该变量应设置为全局环境变量,例如:
env: global: - PIWIK_TEST_TARGET="maximum_supported_piwik" //运行最大支持版本的测试…- piwik_test_target ="2.15.0" //…或者针对特定的版本
DEPENDENT_PLUGINS
这个变量应该设置为一个以空格分隔的git存储库段列表。在travis上运行测试之前,将克隆这些存储库。如果你的插件依赖于其他插件,你可以使用这个变量来确保你的测试通过和/或在travis上测试尽可能多的功能。
该变量应设置为全局环境变量,例如:
env: global: - DEPENDENT_PLUGINS="myGithubAccount/myDependentPlugin myGithubAccount/myOtherDependentPlugin"
如果从属插件来自私有存储库,那么你需要去Travis,为你的插件选择版本(你想要运行测试的插件,而不是从属插件)。下一步进入“设置”。在“环境变量”部分添加一个名为“GITHUB_USER_TOKEN”的新变量,并指定令牌。确保已禁用“DISPLAY VALUE IN BUILD LOG”设置,这样令牌值将不会对其他人可见。您可以通过访问https://github.com/settings/tokens并生成一个新的令牌来生成这个github用户令牌。确保选中“repo”范围内的所有复选框。
使用MySQL或PHP以外技术的插件可能需要额外的设置和安装步骤,在运行测试之前在travis上执行。
LoginLdap例如,OpenLDAP需要在一个活跃的LDAP服务器上进行测试,因此需要在travis上安装和设置OpenLDAP。为了做到这一点,LoginLdap向生成的.travis中添加额外的步骤。yml文件。
在插件的.travis中添加额外的步骤。Yml文件,创建一个/测试/特拉维斯
在你的插件中添加一个或多个特殊的。yml文件:
的内容XXX.before.yml
文件将被前置到你的.travis的特定部分。Yml文件,而内容XXX.after.yml
文件将被追加。
默认情况下,在Travis CI上运行的测试将记录至少的所有消息信息
水平美元PIWIK_ROOT_DIR / tmp /日志/ matomo.log
.在给定的travis构建输出中,您可以通过单击该行查看日志$ cat $PIWIK_ROOT_DIR/tmp/logs/matomo.log
在构建输出文本的末尾。
注意:调试
而且详细的
消息默认不记录(保持Travis页面加载速度快)。在任何时候,您都可以临时启用日志记录修改该文件和改变Log_level = info
来Log_level = debug
或Log_level = verbose
.
构建很少会不执行。例如,如果一些外部资源暂时宕机,可能会发生这种情况。在这种情况下,你可以点击“重启作业”在右上角的特定travis构建失败,它将再次运行相同的作业。