aws / aws/aws-codedeploy-agent

appspec.yml pattern and exclude file globs

Đang mở
#151 17 bình luận 7 reaction 0 người được giao Xem trên GitHub
feature-request needs triage waiting for info
Ngôn ngữ chính
Rust
Star
337
Fork
195
Merge trung bình
10 giờ 54 phút
Pull request đã merge (30 ngày)
4

Mô tả

It would be great if the `pattern` and `exclude` keys accepted bash file globs and worked properly across sub directories. For example, I have a Symfony4 app that looks like:

```
bin/
console
config/
services.yaml
public/
index.php
src/
MyController.php
templates/
my_template.html.twig
```

I want all directories to have mode `750` and all files to have mode `640`. Except for the `bin/console` file which needs mode `750`.

This is the config that I've tried in `appspec.yml`:
```yml
version: 0.0
os: linux

files:
- source: /
destination: /srv/www/app/

permissions:
- object: /srv/www/app
owner: ubuntu
group: www-data
mode: 750
type:
- directory
- object: /srv/www/app
pattern: '**'
except:
- bin/console # also tried 'console' and 'bin/*' and '/srv/www/app/bin/console'
owner: ubuntu
group: www-data
mode: 640
type:
- file
- object: /srv/www/app/bin
owner: ubuntu
group: www-data
mode: 750
type:
- file
```

But I get the following error:
```
The deployment failed because the permissions setting for (/srv/www/app/bin/console) is specified more than once in the application specification file. Update the files section of the AppSpec file, and then try again.
```

I can't seem to find a value which I can put in the `except` key that successfully excludes the `bin/console` file. If it supported bash file globs you could easily do something like `bin/*` because all the files in the bin directory are going to need different permissions.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện deployment với appspec.yml được cung cấp, tập trung vào các mục permissions và các khóa pattern và except của chúng. Theo dõi cách agent khớp các tệp trong các thư mục con và xử lý các quy tắc permissions chồng lấn. Hoàn tất khi các glob kiểu bash hoạt động nhất quán và bin/console được loại trừ mà không có lỗi duplicate-permissions.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
aws, yaml
Lĩnh vực
devops, release
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.