Условно выполнить этап в AWS Codepipeline - PullRequest
0 голосов
/ 07 августа 2020

Я хотел бы условно выполнить определенный этап в AWS Codepipeline в зависимости от этого, если я помещу определенный файл в местоположение репо. Итак, если я помещаю "some_file.txt" в определенное место в репо, я хочу, чтобы Codepipeline проверил существование этого файла и, если он там, продолжил развертывание кода в производственной среде, в противном случае остановитесь на этом этапе.

При этом я хотел бы избежать ручного утверждения и контролировать процесс выпуска с фиксацией файла. Возможно ли это и что было бы лучше всего?

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Я думаю, вы могли бы создать лямбда-действие для этого:

Лямбда-функция может получить доступ к входному артефакту и проверить, есть ли там интересующий вас файл.

В зависимости от результата проверки функция с либо put_job_success_result , либо put_job_failure_resul , чтобы продолжить или остановить конвейер.

1 голос
/ 07 августа 2020

вы можете использовать файл spe c, чтобы проверить, присутствует ли нужный файл. Если нет, то вы можете выполнить команду «stop-pipeline-execution» https://docs.aws.amazon.com/cli/latest/reference/codepipeline/stop-pipeline-execution.html

. Необходимые аргументы могут быть получены из переменных окружения, и еще одна вещь, которую следует отметить, - дать этому этапу соответствующие разрешения, чтобы иметь возможность выполнять команду.

...