Мне удалось установить интеграцию между github и AWS CodePipeline, так что теперь мой код загружается на S3 после события push функцией лямбда. Это работает очень хорошо.Docker image build as AWS CodePipeline step
Новый ZIP с исходным кодом на S3 запускает конвейер, который строит код. Хорошо. Теперь я хотел бы также создать изображение докера для проекта.
Первой проблемой является то, что вы не можете смешивать сборку проекта (nodejs) и сборку докеров. Это прекрасно, имеет смысл. Следующая проблема заключается в том, что у вас не может быть другого buildspec.yml для сборки докеров. Вы указываете команды сборки вручную, нормально, что работает как обходной путь.
Самая большая проблема, хотя, или отсутствие моего понимания, заключается в том, как поставить докер в качестве части конвейера? Первый этап сборки создает проект, следующий шаг сборки создает изображение докеры. Два автономных AWS CodeBuild.
Дело в том, что этап построения трубопровода должен производить артефакт на выходе. Но сборка докеров не создает каких-либо файлов, и похоже, что окончательная докерная толчка после сборки докеров не квалифицируется как артефакт службы трубопровода.
Есть ли способ, как это сделать?
Thanks
Вы видите эту статью? Я собираюсь проверить это на этой неделе, но из статьи вы используете последний шаг, чтобы подтолкнуть изображение докеров. Надеюсь это поможет. docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html –
Он работает как самостоятельная сборка, все в порядке. Но если вы ждете его как часть CodePipeline, вы не можете, потому что изображение докера не создает никаких артефактов вывода. Я предполагаю, что я просто поставлю туда что-то, как выход, уродливое обходное решение, но я не нашел другого способа. – stibi
Вы всегда можете просто сохранить zip финального пакета как артефакт, хороший способ иметь автономную сборку изображения докеров. Это был мой план. –