Gitlab - Google 计算引擎持续交付
Gitlab - Google compute engine Continuous delivery
我想做的是在 Google Cloude 上启用从 GitLab 到我的计算引擎的持续交付。我那边有 Ubuntu 16.04 TSL 运行ning。我确实安装了 运行 我的项目所需的所有组件,例如:Swift、vapor、nginx。
我也设法安装了 Gitlab 运行ner 并创建了一个 运行ner whcihc 可以从我的 gitlab 仓库访问。每次我按下 master 时 运行ner 触发器。由于以下原因发生的失败:
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 运行ner 在位置
/home/gitlab-runner/builds/
下创建构建,在此位置每个新作业都有自己的文件夹。例如。 /home/gitlab-runner/builds/2bbbbbd/
其中是我的项目并执行了命令。那么当第一个是 运行ning 并且我确实部署了新版本时会发生什么?端口被第一个实例阻塞等等?
- 如果我想启用
supervisor
当我每次部署文件夹都不同时,我该怎么做?
- 任何人都可以解释或向我展示或指导我如何在没有 docker 的情况下进行持续部署的教程吗?
感谢长时间的深入搜索,我终于找到了答案!完整的文章可以在上面找到。
简述 GitLab CI 文档推荐使用 dpl 进行部署。 Gitlab 运行ner 运行 测试和流程应该结束。 运行ner 旨在在每次构建完成后终止所有创建的进程。 GitLab 运行ner 无法执行目录外的操作。
我想做的是在 Google Cloude 上启用从 GitLab 到我的计算引擎的持续交付。我那边有 Ubuntu 16.04 TSL 运行ning。我确实安装了 运行 我的项目所需的所有组件,例如:Swift、vapor、nginx。 我也设法安装了 Gitlab 运行ner 并创建了一个 运行ner whcihc 可以从我的 gitlab 仓库访问。每次我按下 master 时 运行ner 触发器。由于以下原因发生的失败:
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 运行ner 在位置
/home/gitlab-runner/builds/
下创建构建,在此位置每个新作业都有自己的文件夹。例如。/home/gitlab-runner/builds/2bbbbbd/
其中是我的项目并执行了命令。那么当第一个是 运行ning 并且我确实部署了新版本时会发生什么?端口被第一个实例阻塞等等? - 如果我想启用
supervisor
当我每次部署文件夹都不同时,我该怎么做? - 任何人都可以解释或向我展示或指导我如何在没有 docker 的情况下进行持续部署的教程吗?
感谢长时间的深入搜索,我终于找到了答案!完整的文章可以在上面找到。
简述 GitLab CI 文档推荐使用 dpl 进行部署。 Gitlab 运行ner 运行 测试和流程应该结束。 运行ner 旨在在每次构建完成后终止所有创建的进程。 GitLab 运行ner 无法执行目录外的操作。