我正在使用GitlabCI和我自己的Gitlab Runner,基于docker并正确注册
这就是我如何使用docker和docker-compose来运行runner
version: "3"
services:
gitlab_runner:
image: gitlab/gitlab-runner:alpine-v11.3.1
restart: always
container_name: gitlab_runner_my_project
environment:
- CI_SERVER_URL=https://gitlab.com/
volumes:
- ./volumes/runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock:rw这是我的跑步者配置
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "runner for my project"
url = "https://gitlab.com/"
token = "my-token"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:stable-dind"
privileged = true
disable_cache = true
pull_policy = "if-not-present"
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
run_untagged = true
[runners.cache]
Type = "s3"
Path = "cache"
Shared = true
[runners.cache.s3]
ServerAddress = "s3.amazonaws.com"
AccessKey = "AWSkey"
SecretKey = "AWSsecret"
BucketName = "grcache"
Insecure = false使用以下代码,我可以运行测试、覆盖、部署,并假设使用覆盖报告发布页面。
stages:
- test
- deploy
test:
image: ruby:2.5.1
tags:
- my_tag
stage: test
services:
- mongo:3.6.3
variables:
RAILS_ENV: test
MONGODB_URI: ...
before_script:
- bundle install
script:
- bundle exec rspec spec/
artifacts:
paths:
- coverage/*
staging_deploy:
.
.
.
pages:
image: alpine:latest
tags:
- my_tag
stage: deploy
dependencies:
- test
script:
- cp -r coverage/ public/
artifacts:
paths:
- public
expire_in: 30 days
only:
- test-coverage测试运行得很好,覆盖范围很广,部署和应该发布的页面也是如此。下图显示了Pages作业的日志。
这些是流水线中显示的作业。


当我访问我的项目的页面部分时,一切看起来都很好。

但是当我想访问这个页面时。BOOOMMMMM

发布于 2018-10-20 15:47:56
为什么要在coverage路径的末尾添加星号?我猜也许一些文件或者整个目录coverage都没有被git追踪到。在这种情况下,从测试阶段更改存储的工件路径可能会有所帮助:
artifacts:
untracked: true
paths:
- coverage/为了进行快速脏调试,您可以随时将一些脚本添加到.gitlab-ci.yml中,以查看复制操作前后相关目录中的内容:
script:
- ls -al
- ls -al coverage
- ls -al public
- cp -r coverage/ public/
- ls -al coverage
- ls -al public这可能会让我们对这个问题有一些了解。您的.gitlab-ci.yml看起来很好。
编辑:就像你说的,也许这是权限问题。我怀疑这会有什么帮助,因为这个public目录是一个工件,权限不应该对此有什么影响。但为了检查一下,你可以修改它的权限:
script:
- chmod -R 755 public发布于 2019-12-03 02:14:10
您可以通过检查环境变量来检查实际页面的URL:
pages:
...
script:
- ... others scripts
- echo $CI_PAGES_URL
artifacts:
paths:
- publichttps://stackoverflow.com/questions/52898862
复制相似问题