aws / aws/aws-codedeploy-agent

appspec.yml pattern and exclude file globs

Offen
#151 17 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
feature-request needs triage waiting for info
Vorherrschende Sprache
Rust
Sterne
337
Forks
195
Ø Merge
10 Std. 54 Min.
Gemergte PRs (30 T.)
4

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, das Deployment mit der bereitgestellten appspec.yml zu reproduzieren, und konzentriere dich dabei auf die Berechtigungseinträge sowie deren pattern- und except-Schlüssel. Verfolge, wie der Agent Dateien über Unterverzeichnisse hinweg abgleicht und sich überschneidende Berechtigungsregeln verarbeitet. Als erledigt gilt die Aufgabe, wenn bash-style-Globs konsistent funktionieren und bin/console ohne einen duplicate-permissions-Fehler ausgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, yaml
Bereich
devops, release
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.