Запись файла appspec.yml для развертывания из GitHub в AWS CodeDeploy

Я хотел бы сделать так, чтобы фиксация в нашем репозитории GitHub автоматически развертывала код (используя CodeDeploy) в наших экземплярах EC2. Я не понимаю, что использовать для записи «источник» в разделе «файлы» в файле appspec.yml. Я нашел несколько примеров использования локального репозитория git, но мне было интересно, может ли кто-нибудь мне помочь?

Заранее спасибо за вашу помощь!


person jkovba    schedule 02.08.2015    source источник


Ответы (3)


В файле appspec.yml все пути для source файлов (и скриптов) ведут к корню архивного пакета. Пути destination находятся в корне системы.

Этот файл appspec.yml будет рекурсивно копировать все файлы из каталога foo вашего пакета архивов в каталог /www/foo-app/ вашей системы.

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

См. http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html или http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-add-appspec-file.html для получения более подробной информации о спецификациях приложений. .yml-файл.

person Jonathan Turpie    schedule 03.08.2015
comment
Спасибо Джонатан. Это похоже на то, что я пытаюсь понять. Я видел документацию в справочном руководстве AppSpec, но я не совсем понимаю, что вы подразумеваете под корнем архивного пакета. Если бы у меня был репозиторий под названием «CodeRepo» на GitHub, и я хотел бы получить файл из каталога «src» из «CodeRepo», что бы я поместил в раздел «исходный код» моего файла AppSpec? - person jkovba; 03.08.2015
comment
Когда хост-агент загружает ваш репозиторий, корнем репозитория является корень архива (есть промежуточный архив, созданный GitHub). Таким образом, для получения файлов из каталога src вашего репозитория вам нужно будет использовать /src/ в вашем appspec.yml. - person Jonathan Turpie; 03.08.2015

Рассматривали ли вы возможность использования CodePipeline? Он делает именно то, что вы ищете.

Вы можете указать источник github в конвейере кода, и когда есть фиксация, он может быть развернут в вашем парке «развертывания кода». Конечно, вы можете сделать гораздо больше с конвейером.

http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html

Надеюсь это поможет.

person snannapa    schedule 03.08.2015
comment
snannapa, спасибо за ответ. CodePipeline — отличный выбор для рабочего процесса, который мне нужен. Проблема в том, что я все еще сталкиваюсь с тем же вопросом, что и выше. CodePipeline может использовать CodeDeploy для загрузки моего кода GitHub, но как мне указать, где именно развертывать код? Насколько я знаю, это можно сделать в файле AppSpec, но я не знаю, как структурировать раздел «файлы». - person jkovba; 03.08.2015

Вот родной способ сделать то, что вы ищете.

http://blogs.aws.amazon.com/application-management/post/Tx33XKAKURCCW83/Automatically-Deploy-from-GitHub-Using-AWS-CodeDeploy

person snannapa    schedule 03.08.2015