配置完gitlab-ci push代码后 脚本执行没有出错 镜像构建完成 容器也成功启动 但是 无论是在宿主机 还是 gitlab-runner 中 都找不到 新的容器
.gitlab-ci.yml 文件
stages:
- build
- deploy
build-job :
stage: build
only:
- master
image: mcr.microsoft.com/dotnet/core/sdk:3.1-buster
script:
- cd WebApi/
- dotnet build
- dotnet publish -c Release -o ./publish
# artifacts:
# expire_in: 30 days
# paths:
# - publish/
artifacts:
paths:
- WebApi/publish/
deploy-job:
stage: deploy
only:
- master
image: docker:19.03.12
services:
- docker:dind
dependencies:
- build-job
script:
- cd WebApi
- cd publish/
- docker build -t rms_server:1.0 .
- docker run --name rms_server -d -p 8810:80 -v /usr/wwwroot/rms_server/wwwroot:/app/wwwroot -v /usr/wwwroot/rms_server/Configs:/app/Configs rms_server:1.0
job 结束,对应的 ci 容器就自动退出,不能在 ci 容器中起容器部署应用,建议通过 shell runner 跑 deploy-job
您好 那既然这样 那runner应该部署在服务器而不是容器吗? 如果这样的话 容器部署runner的方式有什么作用呢? 还有 我脚本是在gitlab这边执行 还是 在runner 容器中 或是 其他地方执行的呢 望解答
@Felix-Zhang: 取决于 runner 的 executor ,如果 executor 是 docker ,脚本就会在 gitlab 中执行。