Как AWS CodeBuild переносит код из CodeCommit в контейнер Docker

Как AWS CodeBuild переносит код из CodeCommit в контейнер Docker

У меня нет большого опыта работы с Docker (то есть я знаю только несколько вещей о написании Dockerfileи о концепциях, используемых в Docker). Я хочу создать образ Docker для CodeBuild, чтобы построить свое приложение, однако я не уверен, как CodeCommit перенесет код из CodeCommit в мой образ docker.

Я последовал заэтот уроко расширении CodeBuild с помощью пользовательских образов Docker, но я все еще не могу понять процесс загрузки кода из git в контейнер.

Не могли бы вы мне помочь советом?

решение1

Я предполагаю, что вы используете CodePipeline, а CodeBuild может получить входной артефакт (zip-файл). Следующий шаг — скопировать код в образ контейнера во время процесса сборки, используя:

КОПИРОВАТЬ {из} {в}

в Dockerfile.

решение2

Codebuild извлекает код из codecommit, и он будет доступен нам в папке $CODEBUILD_SRC_DIR. Теперь, если вы хотите скопировать код в контейнер Docker во время выполнения docker build, убедитесь, что вы находитесь в правильном каталоге ($CODEBUILD_SRC_DIR) и используйте команду COPY с '.', как показано ниже:

КОПИРОВАТЬ ./тест /тест

Если вы не укажете точку (.), то определенно появится ошибка, подобная приведенной ниже: COPY failed: stat /var/lib/docker/tmp/docker-builder095648372/test: no such file or directory

Надеюсь, это будет полезно новым пользователям AWS.

Связанный контент