标签: gitlab-ci-runner

Gitlab CI:无法找到构建阶段的输出

我的.gitlab-ci.yml文件设置在典型的三个阶段:测试,构建,部署.在构建阶段,我运行一个命令来编译我的项目并将其放入tarball中.构建阶段似乎成功执行,因为它转移到部署阶段,但部署阶段然后说它找不到tarball.它在另一个目录中吗?这是怎么回事?谢谢.

gitlab gitlab-ci gitlab-ci-runner

9
推荐指数
1
解决办法
5003
查看次数

Gitlab CI运行器配置与docker上的缓存

我似乎无法在gitlab CI中的作业之间获得缓存或工件.我怀疑这与我的配置有关,但我不确定是什么.我正在使用以下docker-compose配置在docker中运行gitlab和gitlab-ci-multirunner.为简洁起见,我省略了数据库配置和一些环境变量:

version: '2'

services:
  gitlab:
    image: sameersbn/gitlab:8.5.1
    links:
      - redis:redisio
      - postgresql:postgresql
    ports:
      - "10080:80"
      - "10022:22"
    environment:
      ...
    volumes:
      - gitlab_data:/home/git/data

  gitlab-ci-runner:
    restart: always
    image: gitlab/gitlab-runner
    volumes:
      - gitlab_runner_config_data:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/nginx/ssl/gitlab.crt:/etc/gitlab-runner/certs/ca.crt
      - /etc/ssh:/ssh
    links:
      - gitlab:gitlab

  redis:
    ...
  postgresql:
    ...


volumes:
  postgresql_data:
  redis_data:
  gitlab_data:
  gitlab_runner_config_data:
Run Code Online (Sandbox Code Playgroud)

跑步者配置(config.toml)是:

concurrent = 1

[[runners]]
  name = "docker"
  url = <public gitlab url>/ci 
  token = <gitlab token>
  tls-ca-file = "/etc/gitlab-runner/certs/ca.crt"
  executor = "docker"
  [runners.docker]
    image = "docker-bash"
    volumes = …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci gitlab-ci-runner

9
推荐指数
1
解决办法
1万
查看次数

如何查看共享的转轮队列

我正在使用Gitlab的共享运行者.Build已处于"挂起"状态超过20分钟.

如何调试?它与跑步者的可用性或脚本执行问题有关.是否有可能通过任何方式获得更多的洞察力?

在此输入图像描述

gitlab gitlab-ci-runner

9
推荐指数
1
解决办法
1214
查看次数

一个项目的Gitlabs工件用于进一步的项目

  • 在CI阶段使用docker容器时,在项目中携带工件(jar,class,war)的最佳方法是什么.

让我详细解释一下我的问题,请不要停止阅读... =)

Gitlabs项目1

  • 单元测试
  • 等等...

Gitlabs项目2

  • 单元测试
  • 等等...
  • 构建(失败)
    • 这里我需要在project1中生成一个工件(jar)

当前场景/评论

  • 我在每个.gitlab-ci.yml中都使用了码头工具.我将拥有独立的容器
  • 在project1中一切正常
  • 如果我在.gitlab-ci.yml中使用"shell"而不是dockers,我可以将jar文件保存在磁盘中的project1中,并在project2启动构建时使用
  • 今天,当project1完成时,我调用project2的触发器运行良好
  • 我的工件不是RPM,所以我不会加入我的仓库

可能的解决方案

continuous-integration gitlab gitlab-ci gitlab-ci-runner

9
推荐指数
2
解决办法
4828
查看次数

Gitlab 中构建失败的工件

我想知道如何在 gitlab 持续集成中为失败的构建生成工件,以查看构建生成的 html 报告。

我试过这样:

 artifacts:
    when: on_failure
      paths:
        - SmokeTestResults/
        - package.json
Run Code Online (Sandbox Code Playgroud)

但不幸的是它不起作用。我正在使用 Gitlab 8.11.4 社区版。

gitlab gitlab-ci gitlab-ci-runner

9
推荐指数
2
解决办法
7391
查看次数

如何使用Cake.net与Gitlab CI?

我有一个ASP.NET MVC应用程序.我正在尝试使用Gitlab和Cake.net实现CI和CD.

为了更容易测试,我在我的机器上安装了Gitlab CI多跑步者.我将'shell'注册为执行人.

我试图从.gitlab-ci.yml执行Cake.net build.ps1文件,但它不执行脚本.当它到达build.ps1行时,它只打开带有记事本的文件然后它表示构建成功.

我错过了什么?为什么不执行脚本?

这是代码:

.gitlab-ci.yml

stages:
  - build
build:
 stage: build
 script:
  - build.ps1
 only:
   - develop
Run Code Online (Sandbox Code Playgroud)

Gitlab CI多跑者配置.toml

concurrent = 1
check_interval = 0

[[runners]]
  name = "Development runner"
  url = "https://gitlab.com/ci"
  token = "***"
  executor = "shell"
  shell = "powershell"
Run Code Online (Sandbox Code Playgroud)

build.cake

#tool "nuget:?package=xunit.runner.console"

var target = Argument("target", "Default");
var configuration = Argument("configuration", "Release");
var version = Argument("releaseNumber", "");

var solution = "src/Pentrugatit.sln";
var binFolder = "src/Presentation/Nop.Web/bin/";
var pluginsFolder = "src/Presentation/Nop.Web/Plugins/";

Task("Clean")
  .Does(() => { …
Run Code Online (Sandbox Code Playgroud)

.net powershell gitlab-ci gitlab-ci-runner cakebuild

9
推荐指数
1
解决办法
1866
查看次数

gitlab:Runner离线,最后一次联系是在几个小时前

最近我的跑步者已经停止了,我不知道为什么?

我刚刚nodejs在服务器上升级,它确实发生了.

在这个问题之后,我尝试更新gitlab到最新版本并检查跑步者状态,但问题仍然存在,并且灰色图标标题显示:

Runner离线,最后一次联系是大约22小时前.

Runner离线,最后一次联系是大约22小时前

我该怎么办?

当我尝试时Retry stuck jobs,看到这个错误:

这项工作陷入困境,因为你没有在线任何活跃的跑步者,他们分配了这些标签:'我的标签'.

任何帮助表示赞赏!

gitlab gitlab-ci gitlab-ci-runner

9
推荐指数
4
解决办法
8151
查看次数

是否可以交互式调试Gitlab CI构建?

我有一个Gitlab CI构建需要很长时间(10分钟+)来运行,每次我需要实验/进行更改时等待整个过程非常烦人.看起来肯定有一种方法可以在构建过程中访问某种shell并以交互方式运行命令,而不是将它们全部放在部署脚本中.

我知道可以在本地运行Gitlab CI 测试,但我似乎无法找到一种方法来访问正在运行的部署,即使在搜索文档之后也是如此.

我运气不好还是有办法手动控制这个冗长的构建?

gitlab-ci gitlab-ci-runner

9
推荐指数
1
解决办法
2461
查看次数

GitLab CI 脚本需要在 /etc/hosts 中输入

我有一个 GitLab CI docker runner 来在我推送时执行我的自动化测试。我的一项测试需要 /etc/hosts 中的自定义条目。我不知道如何进入该文件。

这基本上是我的.gitlab-ci.yml文件的样子:

before_script:
  - cat /etc/hosts   # for debugging
  - ...              # install app dependencies
specs:
  script:
    - rspec          # <- a test in here fails without the /etc/hosts entry 
Run Code Online (Sandbox Code Playgroud)

我的所有测试都通过了,除了需要/etc/hosts该条目的测试。

假设我正在尝试将主机名myhost.local解析为 IPv4 地址XX.XX.XX.XX......

我尝试extra_hosts在 runner 配置上使用,但它似乎没有任何效果(从这里得到想法):

/etc/gitlab-runner/config.toml

concurrent = 1
check_interval = 0

[[runners]]
  name = "shell"
  url = "https://mygitlabinstance.com/"
  token = "THETOKEN"
  executor = "shell"
  [runners.cache]

[[runners]]
  name …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci gitlab-ci-runner

9
推荐指数
1
解决办法
6107
查看次数

GitLab CI:两个独立的预定作业

考虑以下gilab-ci.yml脚本:

stages:
  - build_for_ui_automation
  - independent_job

variables:
  LC_ALL: "en_US.UTF-8"
  LANG: "en_US.UTF-8"

before_script:
  - gem install bundler
  - bundle install

build_for_ui_automation:
  dependencies: []
  stage: build_for_ui_automation
  artifacts:
    paths:
      - fastlane/screenshots
      - fastlane/logs
      - fastlane/test_output
      - fastlane/report.xml
  script:
    - bundle exec fastlane ui_automation
  tags:
    - ios
  only:
    - schedules
  allow_failure: false

# This should be added and trigerred independently from "build_for_ui_automation"
independent_job:
  dependencies: []
  stage: independent_job
  artifacts:
    paths:
      - fastlane/screenshots
      - fastlane/logs
      - fastlane/test_output
      - fastlane/report.xml
  script:
    - bundle exec fastlane …
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-ci-runner gitlab-ce

9
推荐指数
2
解决办法
3803
查看次数