我有一个与docker-compose一起运行的Symfony应用程序,我想用GitLab CI / CD实现自动部署,以便在某些AWS实例中运行该应用程序。我不知道什么是最好的方法,基本上这是我的想法及其步骤:
方法1 :(在GitLab中构建)
方法2 :(在AWS中构建)
我喜欢第一种方法,但也许还有另一种更好的方法。拥有一些.gitlab-ci.yml
参考文件会令人惊讶。
谢谢!
答案 0 :(得分:1)
如果在GitLab运行程序中构建它并将其推送到注册表,则可以在仅适用于AWS的更多地方使用它。
这是Docker-in-Docker构建方法的参考文件(来自docs):
.gitlab-ci.yml
build:
image: docker:stable
services:
- docker:dind
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_DRIVER: overlay2
stage: build
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.example.com
- docker build -t registry.example.com/group/project/image:latest .
- docker push registry.example.com/group/project/image:latest