我试图使用AWS CodeBuild获取嵌套的公共文件夹中的所有文件和子文件夹,并使用CodePipeline部署到S3桶。我能够把它们挂在一起,但努力配置buildspec.yml
文件以获得我想要的输出。
我的文件夹结构:
<path>/public/
├── 404.html
├── css
│ ├── ...
├── fonts
│ ├── bootstrap
│ │ ├── ...
│ ├── icomoon
│ │ ├── icomoon
│ │ │ ├── ...
│ └── simple-line-icons
│ ├── ...
├── images
│ ├── ...
├── index.html
├── index.xml
├── js
│ ├── ...
└── tags
└── index.xml
我需要将public
文件夹中的所有内容(包括子文件夹)放入S3 bucket的根目录中。
到目前为止,我已经试着跟踪这里、这里和这里的医生。我尝试使用:
**/*
以递归方式获取文件夹Public
内的所有内容,但是S3桶将具有文件夹的路径,因此index.html
不在根目录中。 discard-path:是
删除路径公共
文件夹,但在S3桶内,所有文件都在根,没有子文件夹结构被保留。 base目录
:如这里所述。 构件:次要构件:构件1:文件:-目录/文件构件2:文件:-目录/文件2
保持文件夹结构,但我的构建失败。 我遇到了一个类似的问题,在下面的许多排列之后,语法对我起了作用。
artifacts:
files:
- './**/*'
base-directory: public
name: websitename
我已经想出了解决这个问题的办法。我不认为这是最好的方法,但它是有效的。我希望您能发现此解决方案非常有用buildspec。yml
:
version: 0.2
phases:
build:
commands:
- mkdir build-output
- cp -R <path>/public/ build-output
post_build:
commands:
- mv build-output/**/* ./
- mv build-output/* ./
- rm -R build-output *.yml LICENSE README* .git*
artifacts:
files:
- '**/*'
用文字:
>
然后在post_build
中,我将所有内容移出文件夹build output
。
删除从我的GitHub回购中提取的文件,这些文件不需要在S3桶
中托管静态网站
然后我得到我想要的结果:所有文件内的公共
在根的S3桶
与正确的文件夹树。
更新:
buildspec.yml
示例文件。因为这个例子不在这个问题的范围内,所以我不在这里粘贴代码。TL;DR您可能不需要使用“放弃路径:是”。所以,对于glob模式,请删除“discardpath:yes”,并使用带有“***”的“base directory”。请继续阅读,了解更多原因。
所以,是的,就像通常发生的那样,罪犯是微不足道的。在我的例子中,目录结构如下所示:
dist/
|-- favicon.ico
|-- index.html
|-- js
| `-- app.js
`-- revision.txt
因此,为了让工件包含“dist”目录中的所有内容,同时保留嵌套目录结构,构建规范必须看起来像这样:
artifacts:
files:
- '**/*'
base-directory: 'dist'
基本上,“base directory”参数的行为类似于unix的“cd”命令,因此首先CodeBuild跳转到该目录,然后才解析glob模式,在本例中为-***。如果您也碰巧使用了“丢弃路径”,那么可能会发生这样的情况:CodeBuild将当前目录更改为“dist”,正确解析文件结构,但随后从解析的路径中删除所有路径前缀,因此结果将是一个没有嵌套的普通目录结构。
希望有帮助!
问题内容: 我正在尝试获取目录及其子目录中所有文件的列表。我当前的递归方法如下: 但是,我希望有一种非递归的方式(可能是现有的API调用)来执行此操作。如果不是,这是最干净的方法吗? 问题答案: 您始终可以使用堆栈(对于DFS)或队列(对于BFS)将迭代解决方案替换为迭代解决方案:
问题内容: 我的功能有点问题。我想在许多目录中获取所有文件。目前,我可以检索传入参数的文件中的文件。我想检索作为参数传递的文件夹中每个文件夹的html文件。我会解释,如果我把参数“测试”我检索“测试”的文件,但我想找回“测试/ 1 / * HTML。”,“测试/ 2 / /。 html的”: 结果:[1,2,3] 谢谢 ! 问题答案: 看起来npm软件包会为您提供帮助。这是一个如何使用它的示例:
主要内容:1.SnakeYml,2.jackson-dataformat-yaml,3.Value,4.ConfigurationProperties1.SnakeYml 在使用SnakeYml解析yml时,最常使用的就是load、loadlAll、loadAs方法,这三个方法可以加载yml文件或字符串,最后返回解析后的对象。我们先从基础的load方法开始演示: 接下来看一下loadAll方法,它可以用来加载yml中使用—连接符连接的多个文档,将上面的yml文件进行修改: 在添加了连接符后,尝试
主要内容:1.Environment,2.YamlPropertiesFactoryBean,3.监听事件1.Environment 在Spring中有一个类Environment,它可以被认为是当前应用程序正在运行的环境,它继承了PropertyResolver接口,因此可以作为一个属性解析器使用。先创建一个yml文件,属性如下: 使用起来也非常简单,直接使用@Autowired就可以注入到要使用的类中,然后调用它的getProperty()方法就可以根据属性名称取出对应的值了 在上面的例子中
本文向大家介绍Python 遍历子文件和所有子文件夹的代码实例,包括了Python 遍历子文件和所有子文件夹的代码实例的使用技巧和注意事项,需要的朋友参考一下 最近看ECShop到网上找资料,发现好多说明ECShop的文件结构不全面,于是想自己弄个出来。但这是个无聊耗时的工作,自己就写了个Python脚本,可以递归遍历目录下的所有文件和所有子目录,并将结果记录到一个.xml文件中(因为想使用Not
本文向大家介绍PHP递归获取目录内所有文件的实现方法,包括了PHP递归获取目录内所有文件的实现方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上就是小编为大家带来的PHP递归获取目录内所有文件的实现方法全部内容了,希望大家多多支持呐喊教程~