docker - 从 GitLab CI 中的服务容器访问项目目录
问题描述
我试图在部署期间通过Percy截屏来测试我的站点构建,但我无法启动在 GitLab 运行器上本地运行我的站点的服务容器。
我有一个安装了 Percy (& Puppeteer) 的自定义 docker 映像。我将其作为 GitLab-CI 作业映像运行,并带有一个单独的service
容器,该容器应该运行我的(NodeJS / Gatsby)网站:
take screenshots:
stage: test
image: my/custom-percy-image:latest
services:
- name: node:14-slim
alias: testserver
command: ["sh","/builds/start-testserver.sh"]
script:
- percy exec -- node /sitemap.js
(我的start-testserver.sh
脚本所做的基本上就是yarn install && yarn start
。)
所有服务都将作业目录安装为 /builds 下的卷
我理解的意思是,在我的服务容器中,我的项目根目录应该可以在/builds/
.
然而,情况似乎并非如此。我在作业输出中收到有关“无法链接到未运行的容器”的错误。
当我将start-testserver
上面的命令交换为:
command: ["ls","-la","/builds"]
该作业输出一个空目录列表。
我误解了文档吗?我的方法错了吗?如何在服务容器中运行我的站点?
解决方案
推荐阅读
- javascript - 如何为滚动视图页面上的部分设置状态栏
- laravel - 为什么 Laravel 5.5 日期验证器 after_or_equal 不起作用?
- javascript - 父div结束时jquery函数粘性不起作用
- django - 如何使用 Ajax 触发 views.py 函数?
- firefox - 如何在谷歌开发者控制台中将firefox扩展redirect_uri列入白名单
- git - 永久删除 git 存储库及其所有没有项目 ID 的内容
- stored-procedures - 将 DateTime 参数发送到链接服务器存储过程
- bash - 如何添加自定义路径:“ls -d */”
- amazon-web-services - 微服务架构 - 独立服务器服务还是在同一台服务器上?
- javascript - Javascript“for in”无法获取嵌套对象(非标准键标识符)