AWS Cloudwatch запускает Codepipeline на теге Dynami c - PullRequest
1 голос
/ 06 августа 2020

Я хочу пометить фиксацию тегом Dynami c, например git tag deploy-$(date +"%Y-%m-%d_%H-%M-%S"), а затем запустить codepipeline из cloudwatch. Проблема в том, что если я использую следующий шаблон событий cloudwatch:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Repository State Change"
  ],
  "resources": [
    "arn:aws:codecommit:region:XXX:someName"
  ],
  "detail": {
    "event": [
      "referenceCreated",
      "referenceUpdated"
    ],
    "repositoryName": [
      "someName"
    ],
    "referenceType": [
      "tag"
    ],
    "referenceName": [
      "deploy"
    ]
  }
}

, он будет срабатывать только по указанному тегу c - «deploy». Есть ли способ указать любой тег, который начинается с ключевого слова (содержит) deploy?

Ответы [ 2 ]

1 голос
/ 08 сентября 2020

Я смотрел на Content-based Filtering with Event Patterns docs и его Prefix Matching . Пример, приведенный в документации:

{
  "time": [ { "prefix": "2017-10-02" } ],
}

Исходя из этого примера, в вашем случае может сработать следующее:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Repository State Change"
  ],
  "resources": [
    "arn:aws:codecommit:region:XXX:someName"
  ],
  "detail": {
    "event": [
      "referenceCreated",
      "referenceUpdated"
    ],
    "repositoryName": [
      "someName"
    ],
    "referenceType": [
      "tag"
    ],
    "referenceName": [
       { "prefix": "deploy" } ]
    ]
  }
}
0 голосов
/ 15 августа 2020

В префиксе можно использовать подстановочный знак:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Repository State Change"
  ],
  "detail": {
    "referenceType": [
      "tag"
    ],
    "referenceName": [
      {
        "prefix": "deploy-*"
      }
    ]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...