Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift3 Gitlab-谷歌计算引擎持续交付_Swift3_Gitlab_Google Compute Engine_Continuous Deployment_Vapor - Fatal编程技术网

Swift3 Gitlab-谷歌计算引擎持续交付

Swift3 Gitlab-谷歌计算引擎持续交付,swift3,gitlab,google-compute-engine,continuous-deployment,vapor,Swift3,Gitlab,Google Compute Engine,Continuous Deployment,Vapor,我试图做的是在Google Cloude上实现从GitLab到我的计算引擎的连续交付。我有Ubuntu 16.04 TSL在那里运行。我确实安装了运行我的项目所需的所有组件,如:Swift、vapor、nginx。 我还设法安装了Gitlab runner,并创建了一个runner,可以从我的Gitlab repo访问它。每次我按下主按钮,跑步者就会触发。发生的故障是由于以下原因造成的: 无法创建“/home/gitlab runner/builds/2bbbbd/0/Server/Packag

我试图做的是在Google Cloude上实现从GitLab到我的计算引擎的连续交付。我有Ubuntu 16.04 TSL在那里运行。我确实安装了运行我的项目所需的所有组件,如:Swift、vapor、nginx。 我还设法安装了Gitlab runner,并创建了一个runner,可以从我的Gitlab repo访问它。每次我按下主按钮,跑步者就会触发。发生的故障是由于以下原因造成的:

无法创建“/home/gitlab runner/builds/2bbbbd/0/Server/Packages/vapor.git”的前导目录:权限被拒绝

如果我将权限更改为
chmod-R 777
,它将在gitlab pipeline上可见的
运行
阶段挂起

我做了这样的事情:
sudo chown-R gitlab runner:gitlab runner/home/gitlab runner/builds
sudo chown-R gitlab runner:gitlab runner/home/gitlab runner/cache
但这没有帮助,错误是相同的
权限被拒绝

下面是我的
.gitlab ci.yml

before_script:
  - swift --version

stages:
  - build
  - deploy

job_build:
  stage: build
  before_script:
  - vapor clean
  script:
  - vapor build --release
  only:
  - master

job_run_app:
  stage: deploy
  script:
    - echo "Deploy a  API"
    - vapor run --name=App --env=production
  environment:
    name: production

job_run_frontend:
  stage: deploy
  script:
    - echo "Deploy a  Frontend"
    - vapor run --name=Frontend --env=production
  environment:
    name: production
但这还没有进入下一阶段,例如部署。我等了14个多小时,但没有结果。 而且。。。我还有几个问题:

  • Gitlab runner在位置
    /home/Gitlab runner/builds/
    下创建构建,每个新作业都有自己的文件夹。例如,
    /home/gitlab runner/builds/2bbbbd/
    ,其中是我的项目并执行命令。那么,当第一个版本运行时,我部署了新版本,会发生什么呢?端口被第一个实例阻塞等等
  • 如果我想启用
    supervisor
    当每次部署文件夹时都不一样,我该如何使用它
  • 有谁能给我解释一下,或者给我演示一下,或者给我指点一下如何在没有docker的情况下进行连续部署的教程吗
  • 多亏了长时间的深入搜索,我终于找到了答案!全文可以在上面找到


    简而言之,GitLab CI文档建议使用dpl进行部署。Gitlab runner运行测试和进程应结束。运行程序设计为在完成每个构建后终止所有创建的进程。GitLab运行程序无法执行目录之外的操作。

    您是如何解决权限问题的?我自己也面临同样的问题。我确实使用了适合我的
    chmod-R 777
    。我知道这不是完美的解决方案,但出于测试目的,它很好。然而,由于未完成的过程,它一直挂在
    build
    上。对于CD,我现在的目标是dpl,在完成了一些关于gce的
    build
    工作之后。现在也在研究CD的dpl