问题标签 [gitfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jinja2 - 如何使用不存在的 Jinja 处理文件的导入
在 Salt Pillars 中,我需要将文件的内容加载到 Jinja 变量中。如果文件不存在 Jinja 抛出错误 (TemplateNotFound:...)
我的支柱中有一些文件夹(公司 A、公司 B 等)可能包含也可能不包含名为 Default.sls 的文件。如果文件存在 - 它将被加载到变量中。当文件不存在时就会出现问题——在这种情况下,Jinja 会抛出 TemplateNotFound 异常。我的 Pillar 文件夹如下所示:
我还没有找到解决这个问题的好方法。我一直在使用以下代码(信息:tpldir 包含 sls 文件(在本例中为 init.sls)所在的当前文件夹名称):
为了检查文件是否存在 - 我一直在使用:
只要将 Salt master 配置中定义的 file_roots 设置为默认设置,它就可以正常工作。我们现在已经开始使用 gitfs - 现在上面对 file.file_exists 的使用显然不起作用,因为文件不再位于 /srv/pillar/... 的 salt master 上!
上面代码的原因是它是一种在 default- 和 companyDefault 配置之间进行分层的方法。读取第一个默认值 (Defalt.sls),然后将 {{Company X}}/Default.sls 合并到默认值中。第三个环境(prod.sls、test.sls 等)与新的默认值合并...
额外问题:如何在不使用的情况下遍历文件夹中的文件:
因为这是同一个问题(/srv/pillar)...
git - How to maintain a git branch as a directory which is always up-to-date?
I have a git repository, and I would like other users to be able to read (only) any file of the master branch without having to run git clone.
一种选择是使用 gitfs 挂载存储库。有没有更好的选择?是否有理由避免这种情况并让用户每次都克隆?