gpt4 book ai didi

找不到 Gitlab CI 页面

转载 作者:行者123 更新时间:2023-12-01 05:52:15 25 4
gpt4 key购买 nike

我正在使用 GitlabCI 和我自己的基于 docker 的 Gitlab Runner 并正确注册

这就是我使用 docker 和 docker-compose 运行运行者的方式

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 作业的日志。

这些是管道中显示的作业。

enter image description here

enter image description here

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

enter image description here

但是当我想访问该页面时。轰隆隆

enter image description here

最佳答案

为什么要在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 dir 是一个工件,权限应该无关紧要。但只是为了检查你可以修改它的权限:
script:
- chmod -R 755 public

关于找不到 Gitlab CI 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com