使用GitHub动作

Github行动用于自动化我们的软件工作流程,包括运行javascript构建,测试套件,发布和代码检查。

GitHub动作脚本

所有的GitHub动作构建文件都在/ * .yml .github /工作流程

每个脚本都由它自己的条件触发,有关详细信息,请参阅Github Action Docs

Matomo使用GitHub Action来自动化一些流程。我们当前的行动列出如下:-[构建跟踪器JS]由评论触发构建js进入拉请求。这会将js/ piwiki .js压缩到matomo.js和piwiki .js中,如果PRs分支在同一个repo中,则会推送更改。- [Build VUE]推送提交时触发pr如果分支不在同一个repo中,它将构建VUE文件并提交回分支或留下注释。- [Composer Update]每周运行一次。执行作曲家更新并为可用的更新创建PR -[跟进评论]每天运行一次。一旦PR被贴上“需要审核”标签7天不活动,Action将发送邮件通知@matomo-org/core-reviewer。-[处理非活动PRs -关闭消息]每天运行一次。检查PR是否在没有“请勿关闭”标签的情况下停用了35天,Action将ping @matomo-org/core-reviewer以检查我们是否可以关闭PR。-[非活动PR]每天运行,14天后非活动PR将被标记为过期。- [PHPCS check]为pull请求触发。使用PHPCS检查代码质量并在失败时返回错误详细信息。-[发布]发布Matomo新版本,过程中需要发布密码和版本号。—[更新Intl数据]为最新的语言更新创建PR。-[更新子模块]每周周五更新子模块。(新脚本应该记录在上面的列表中。)

创建一个新的GitHub动作脚本

要创建一个新的GitHub动作脚本,请阅读GitHub动作快速入门

我们建议将Matomo项目分叉,并首先在您自己的管道上运行操作。另外,在开始之前请检查以下列表:

安全

动作脚本有可能被黑客攻击,所以当你创建一个新的GitHub动作脚本时,注意安全是最重要的。

这可能会导致GitHub令牌丢失,并对我们的代码进行写入访问。更多的细节

有两种常见的攻击脚本注入攻击而且安全性加强

有关详细信息,请参见这篇文章

环境变量

请确保动作中使用的环境变量不是由PR标题等自定义的。

敏感信息

不要以纯文本、JSON、XML、YAML(或类似)保存带有令牌、密码或其他敏感信息值的秘密。

第三方的行为

一般来说,最好的做法是尽可能避免使用第三方GitHub操作或脚本。例如,当操作只执行几个简单的脚本时,我们就不需要操作,只需自己执行即可,从而降低了安全风险。

如果您需要使用来自市场的操作,请确保它是由GitHub提供的官方操作,或者您对操作代码进行了审查。在后一种情况下,请确保使用完整提交SHA所固定的版本。

许可

我们建议使用没有一个在可能的情况下,权限,如果需要读取值,只有在需要的时候。有关详细信息,请参阅许可的语法而且为作业分配权限

Baidu