要在travis上添加构建,你必须首先在travisci.com上启用构建(或者找一个有足够权限的人为你做)。然后,必须创建.travis。通过运行下面的Matomo控制台命令为你的插件创建一个yml文件:
./console generate:travis-yml——plugin=MyNewPlugin
以确保.travis.yml
会自动更新自己什么时候模板已更改,则需要使用——github-token
参数或GITHUB_TOKEN
secret可以在Travis CI repo设置中设置。
你可以控制生成的.travis。Yml文件的行为,通过在你的.travis中设置某些环境变量。yml文件。
这些变量可以让你下载其他的,针对特定的Matomo版本测试你的插件等等。
下面是所有支持的环境变量列表:
TEST_AGAINST_PIWIK_BRANCH
这个变量可以设置为一个分支,标签或提交散列,以测试你的插件。
这个变量不应该被设置为全局环境变量,而是应该作为一个条目添加到.travis中。yml文件的矩阵:
部分,如:
env: matrix: - TEST_SUITE=PluginTests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=分支名
PROTECTED_ARTIFACTS
这个变量控制构建工件是否上传到builds-artifacts.www.hju8.com上的密码保护文件夹。如果您正在构建一个插件,并且需要保护您的工件,请联系Matomo团队了解更多。
使用受保护的工件需要在生成.travis. xml文件时提供工件密码。Yml文件——artifacts-pass
参数或被设置为ARTIFACTS_PASS
秘密在特拉维斯CI回购设置。
默认情况下,插件的构件存储在公共文件夹中。若要更改此行为,请设置PROTECTED_ARTIFACTS = 1
作为一个全局环境变量,例如:
env: global:—PROTECTED_ARTIFACTS=1
SKIP_COMPOSER_INSTALL
如果设置为1,则作曲家安装
步骤将被跳过。这可用于加快不需要安装编写器的构建。
可以为所有构建设置全局环境变量,也可以为单个构建设置在矩阵中。
SKIP_PIWIK_TEST_PREPARE
如果设置为1,则不执行prepare.sh/setup_webserver.sh脚本。这可以用来加速不执行PHP测试或需要运行Matomo的web服务器的构建。
可以为所有构建设置全局环境变量,也可以为单个构建设置在矩阵中。
TRAVIS_COMMITTER_NAME
TRAVIS_COMMITTER_EMAIL
这些变量控制用户名和电子邮件地址,当从travis构建中提交更改时使用。
当。travis。Yml文件是自动更新的,Travis构建将提交更改并将其推送到插件的git存储库。提交者的用户名和电子邮件地址由这些变量决定。
TRAVIS_COMMITTER_NAME
默认为Matomo自动化
.TRAVIS_COMMITTER_EMAIL
默认为hello@www.hju8.com
.
使用示例:
env: global: - TRAVIS_COMMITTER_NAME=“我的组织自动化”- TRAVIS_COMMITTER_EMAIL=my-org@myorg.com
使用MySQL或PHP以外技术的插件可能需要额外的设置和安装步骤,在运行测试之前在travis上执行。
LoginLdap例如,OpenLDAP需要在一个活跃的LDAP服务器上进行测试,因此需要在travis上安装和设置OpenLDAP。为了做到这一点,LoginLdap向生成的.travis中添加额外的步骤。yml文件。
在插件的.travis中添加额外的步骤。Yml文件,创建一个/测试/特拉维斯
在你的插件中添加一个或多个特殊的。yml文件:
的内容XXX.before.yml
文件将被前置到你的.travis的特定部分。Yml文件,而内容XXX.after.yml
文件将被追加。
注意:您不能简单地手动将这些更改添加到.travis。Yml文件,因为它们将被覆盖在下一个生成:travis-yml
执行。
用于生成.travis的系统。yml文件在TestRunner插件中定义。如果你需要修改它,这里有一些注意事项要记住:
生成新的。travis。yml部分
这个.twig文件用于生成.travis. txt文件。yml文件:https://github.com/matomo-org/travis-scripts/blob/master/generator/templates/travis.yml.twig.
如果你想在生成的.travis中添加一个新的section。Yml输出,你必须同时将section添加到travis.yml.twig文件中和将section的名称添加到这个数组中:https://github.com/matomo-org/travis-scripts/blob/master/generator/TravisYmlView.php#L26
如果不添加,系统会将该section视为需要保留的section,在渲染树枝模板后再次输出。