首页 新闻 会员 周边 捐助

gitlab-ci docker 部署后 找不到容器

0
悬赏园豆:10 [已解决问题] 解决于 2020-09-14 15:48

配置完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
Felix-Zhang的主页 Felix-Zhang | 菜鸟二级 | 园豆:211
提问于:2020-08-27 12:00
< >
分享
最佳答案
0

job 结束,对应的 ci 容器就自动退出,不能在 ci 容器中起容器部署应用,建议通过 shell runner 跑 deploy-job

收获园豆:10
dudu | 高人七级 |园豆:30925 | 2020-08-27 12:03

您好 那既然这样 那runner应该部署在服务器而不是容器吗? 如果这样的话 容器部署runner的方式有什么作用呢? 还有 我脚本是在gitlab这边执行 还是 在runner 容器中 或是 其他地方执行的呢 望解答

Felix-Zhang | 园豆:211 (菜鸟二级) | 2020-08-27 12:47

@Felix-Zhang: 取决于 runner 的 executor ,如果 executor 是 docker ,脚本就会在 gitlab 中执行。

dudu | 园豆:30925 (高人七级) | 2020-08-27 20:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册