我想要做的是启用从GitLab到Google Cloude上的计算引擎的连续交付。我在那里运行Ubuntu 16.04 TSL。我确实安装了运行我的项目所需的所有组件,如:Swift,Steam,nginx。 我已经设法安装Gitlab runner,并创建了一个跑步者,可以从我的gitlab repo访问。每次我推动掌握跑步者触发器。发生什么事是失败的原因是:Gitlab - Google compute engine持续交付
could not create leading directories of '/home/gitlab-runner/builds/2bbbbbd/0/Server/Packages/vapor.git': Permission denied
如果我的权限更改为chmod -R 777
这将焊割上running
为build
舞台上gitlab管道可见。
我不喜欢的东西: sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/builds
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/cache
但是这并没有帮助,错误的是同一Permission denied
下面你有我.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亚军创建构建下的位置
/home/gitlab-runner/builds/
在此位置每个新任务都有自己的文件夹。例如。/home/gitlab-runner/builds/2bbbbbd/
其中是我的项目和命令执行。那么当第一个正在运行并且我部署新版本时会发生什么?端口被第一个实例阻止了,如此等等? - 如果我想启用
supervisor
当我每次部署文件夹的时候,我该如何做到这一点? - 任何人都可以解释或显示我或指向我的教程如何与外部码头持续部署?
您是如何解决您的权限问题的?自己面对同样的问题。 –
我确实使用了适用于我的'chmod -R 777'。我知道这不是完美的解决方案,但为了测试目的,这很好。不过,由于这个过程还没有完成,所以它挂在'build'上。对于CD我现在瞄准dpl – Shial
经过一些工作,我得到了'build'来处理gce。也正在寻找dpl现在的CD –