在 CI/CD 方面,我完全是新手,所以我提前请您原谅我没有使用正确的术语/做了愚蠢的事情。
我有一个 docker-compose 文件,可用于通过 sudo docker-compose up -d
启动我的应用程序。在本地工作正常,但我还有一个远程虚拟机,我想用它来测试我的应用程序。
我想运行一些测试(我稍后会实现它们)并部署应用程序,如果每次推送到我的存储库都没有问题。我查看了文档,安装了 gitlab-runner,并为 .gitlab-ci.yml
文件尝试了这个:
build-job:
stage: build
script:
- echo "Hello, $GITLAB_USER_LOGIN!"
test-job1:
stage: test
script:
- echo "This job tests something"
deploy-prod:
stage: deploy
script:
- echo "Restaring containers.."
- cd /path/too/app/repo
- git pull
- sudo docker-compose down && sudo docker-compose up -d
但是,当我尝试 docker runner 时,它给了我一个错误,说它找不到目录的路径。我知道这是因为它在单独的容器中运行每个阶段。如何在 VM 上重新启动我的应用程序容器(最好使用 compose)?有没有更好的方法来实现我想做的事情?