标签: gitlab-ci-runner

作业脚本在gitlab ci中的哪里运行?

Job脚本在哪里运行?它可以与Runner在同一系统上运行吗?运行程序如何运行脚本,以及在哪里保存构建?如果有人可以解释Gitlab CI的整个流程,那就太好了。

gitlab gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
1187
查看次数

作为Gitlab CI作业运行tox时权限被拒绝

我对Gitlab和Gitlab CI比较陌生(实际上是整个CI的事情),我已经在同一台机器上成功设置了我的Gitlab服务器和Gitlab CI服务器(很好,因为缺少备用服务器,而且几乎是因为我们的团队是在整个CI事情上还处于"beta"阶段).

我们现在有两个项目,一个角度项目(作为Web客户端)和一个烧瓶项目(作为Web服务).我已经在Gitlab和Gitlab CI中成功设置了我们的角度项目(效果很好,它运行我们的测试并完全构建脚本).

但是现在我也想设置我们的烧瓶项目,所以我们也可以应用持续集成,并且用于tox运行我们的测试脚本等(gulp用于我们的角度项目).

这是我们非常基本的tox.ini:

[tox]
skipsdist = True
envlist = py27

[flake8]
max-line-length = 79
exclude = venv, .tox
max-complexity = 10

[testenv]
deps=-rrequirements/testing.txt
changedir=tests
commands=py.test
Run Code Online (Sandbox Code Playgroud)

在我们的Gitlab CI Jobs中,我只是放在tox那里,因为我在我的开发服务器上执行的所有操作(这个设置在我的开发机器上工作正常,tox即使我不在运行中也只是运行),但我继续这样做运行此命令时,我的Gitlab CI上的权限被拒绝错误(见下文)

gitlab-ci-multi-runner 0.3.3 (dbaf96f)
Using Shell executor...
Running on hikari...
Fetching changes...
Removing .tox/
Checkouting 8325a2a2 as master...

tox
py27 create: /home/gitlab_ci_multi_runner/tmp/builds/runner-b0fcd933-    project-5-concurrent-0/gitlab.amici.com.ph/hris/xi-flask-starter-kit/.tox/py27
py27 installdeps: -rrequirements/testing.txt
ERROR: invocation failed (errno 13), args: [local('/home /gitlab_ci_multi_runner/tmp/builds/runner-b0fcd933-project-5-concurrent- 0/gitlab.amici.com.ph/hris/xi-flask-starter-kit/.tox/py27/bin/pip'),  'install', '-rrequirements/testing.txt'], cwd: /home/gitlab_ci_multi_runner /tmp/builds/runner-b0fcd933-project-5-concurrent-0/gitlab.amici.com.ph …
Run Code Online (Sandbox Code Playgroud)

gitlab tox gitlab-ci gitlab-ci-runner

5
推荐指数
0
解决办法
1314
查看次数

gitlab-ci-runner选择执行者"请输入执行者:"

gitlab-ci-multi-runner在码头上运行了一个容器.

当我gitlab-ci-multi-runner register在容器中执行时,它会询问

请输入执行者:docker ...?

如果我选择docker,是否意味着docker容器将在当前容器上运行?

抱歉我的英语不好:)

gitlab docker gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
7621
查看次数

在AWS上安装Gitlab

我的公司有一个主代码库和几个相同代码库的实例,即在AWS和mysql数据库上运行的company.com/instance1,company.com/instance2,company.com/instance3等.

我认为如果我们在AWS上安装gitlab会有所帮助,因为它可以简化我们的整体开发过程.这是一个好主意吗 ?.

我很困惑,我们是否必须在AWS上安装centOS来安装gitlab,或者gitlab是否可以在没有centos的AWS上运行.

我很困惑,因为在我当地的centos系统我已经在本地安装了gitlab,我在设置URL方面遇到了麻烦.

用户需要键入company.com/instance以获取所需内容,并且已经有人开始在AWS上使用它.

可能我已经做了CI并在AWS上部署代码?这是如何运作的?

gitlab在LAMP环境中是否可以在已有的AWS服务器实例上正常运行?如何去做同样的事情?

git gitlab gitlab-ci gitlab-ci-runner gitlab-omnibus

5
推荐指数
1
解决办法
6147
查看次数

如果没有工件,如何使任务失败

我有一个步骤.gitlab-ci.yml来运行一个生成一些工件的脚本.在正常情况下,该目录包含工件,并且它们由gitlab-ci接收.但是,我正在尝试设置,以便在没有工件的情况下任务失败.我现在得到的只是日志中的警告告诉我没有文物.我想将此警告视为错误并使任务失败.有没有办法做到这一点?

我想如果工件不存在,我可以更新我的bash脚本以退出非零,但是如果可能的话我想在gitlab任务定义中这样做.

rpm_build:
  stage: build
  script: ./scripts/build_rpms.sh
  artifacts:
    paths:
      - my/RPMS/
    expire_in: 3 days
Run Code Online (Sandbox Code Playgroud)

我查看了工件部分的文档,但找不到任何内容.

https://docs.gitlab.com/ce/ci/yaml/#artifacts

gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
499
查看次数

是否可以使给定分支上的构建缓存无效?

我在我的一个项目中使用Gitlab CI,我面临以下问题:

  • 我的master构建因很多时间而失败了......
  • 我推动一个从主人建立的新分支(没有新的提交)并推送它,构建工作.

我认为它与构建缓存有关,因为代码库完全相同......最新的有效构建缓存可能使当前代码库失败...

有没有办法清理特定分支上的构建缓存?在我的情况下master?来自API?

gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
2586
查看次数

加快Gitlab CI重用docker机器的阶段

Gitlab CI每次为每个任务(阶段)提取docker镜像.这个操作浪费了很多时间.我希望尽可能优化.

我看到两个可以使用的地方:
1.显式配置CI阶段以重用相同的docker机器.
2.在构建下一次提交时使用之前提交的docker机器?(如果配置文件中没有更改).

optimization gitlab docker gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
1211
查看次数

如何阻止robocopy退出构建?

我正在使用Gitlab 8.15.4和该版本的最新跑步者.由于我们的防火墙,我无法运行npm install,因此我将节点模块从另一个位置复制到build文件夹中.跑步者在Windows 7机器上.

我的第一次尝试:(.gitlab-ci.yml)

before_script:
- robocopy S:\Storage\GitLab-Runner\Assets\node_modules .\node_modules /s
build:
  stage: build
  script:
    - echo starting
    - gulp
    - echo done
  artifacts:
    paths:
    - deploy.zip   
Run Code Online (Sandbox Code Playgroud)

使用错误导致构建失败:

错误:作业失败:退出状态1

我的第二次(第n次)尝试将robocopy放入脚本文件并从那里执行:

(.gitlab-ci.yml)

before_script:
- S:\Storage\GitLab-Runner\Scripts\CopyAssets.bat
build:
  stage: build
  script:
    - echo starting
    - gulp
    - echo done
  artifacts:
    paths:
    - deploy.zip   
Run Code Online (Sandbox Code Playgroud)

(CopyAssets.bat)

robocopy S:\Storage\GitLab-Runner\Assets\node_modules .\node_modules /s
set/A errlev="%ERRORLEVEL% & 24"
exit/B %errlev%     
Run Code Online (Sandbox Code Playgroud)

通过但不执行任何其他步骤.

如何在完成后阻止RoboCopy退出构建?

gitlab-ci gitlab-ci-runner

5
推荐指数
2
解决办法
907
查看次数

更改目录时,Gitlab CI运行程序作业退出状态失败1

我将个人计算机用作使用Fastlane的iOS项目的运行程序。这主要是由于未安装iOS共享运行程序,因为它们未安装Xcode。

更改目录时,我的作业立即失败。

这是一个外壳运行程序,根本没有其他自定义配置。

有什么建议么?

在此处输入图片说明

这是运行gitlab-runner --debug run和开始作业时的输出。 Checking for jobs... received job=59131527 repo_url=https://gitlab.com/nickfarrant/aqualog-asset-collection.git runner=159b2b59 Failed to requeue the runner: builds=1 runner=159b2b59 Running with gitlab-ci-multi-runner 9.0.2 (fa8b86d) on Nicks-Bink-iMac (159b2b59) job=59131527 project=5134442 runner=159b2b59 Shell configuration: environment: [] dockercommand: - sh - -c - "if [ -x /usr/local/bin/bash ]; then\n\texec /usr/local/bin/bash --login\nelif [ -x /usr/bin/bash ]; then\n\texec /usr/bin/bash --login\nelif [ -x /bin/bash ]; then\n\texec /bin/bash --login\nelif [ -x /usr/local/bin/sh ]; then\n\texec /usr/local/bin/sh --login\nelif [ -x /usr/bin/sh ]; then\n\texec /usr/bin/sh --login\nelif …

ios gitlab gitlab-ci-runner

5
推荐指数
2
解决办法
5399
查看次数

GitLab for C ++中的CodeClimate报告未显示

我正在尝试为GitLab中的合并请求管道激活代码环境报告。CodeClimate分析器正在运行,但是当我添加一些错误代码时没有显示任何警告。可能有些配置我错过了。

我已将以下内容添加到项目rot文件夹中的.gitlab-ci.yml文件中:

include:
    - template: Code-Quality.gitlab-ci.yml
Run Code Online (Sandbox Code Playgroud)

并且我添加了.codeclimate.yml文件,如下所示:

plugins:
  cppcheck:
    enabled: true
    config:
      check: all
      language: c++
      stds:
        - c++14
        - c++17
Run Code Online (Sandbox Code Playgroud)

构建作业在日志末尾以以下几行完成:

f47a75dcba39: Pull complete
Digest: sha256:c8afb8c2037f7b9c5c9ae198aff00b1cf80db11d3591fbe89dfb3c69192663f1
Status: Downloaded newer image for codeclimate/codeclimate:0.72.0
WARNING: A new version (v0.85.3) is available. Upgrade instructions are available at: https://github.com/codeclimate/codeclimate#packages
Uploading artifacts...
gl-code-quality-report.json: found 1 matching files 
Uploading artifacts to coordinator... ok            id=227197201 responseStatus=201 Created token=4xyzSXzN
Job succeeded
Run Code Online (Sandbox Code Playgroud)

由于合并请求未显示任何CodeClimate报告,因此这里可能出什么问题?

在GitLab中,我创建了一个合并请求,并进行了配置更改(合并到主服务器)。一个带有一些错误代码的合并请求,基于第一个具有配置的合并请求(合并到主服务器)。

错误的代码:

int non_used_int;

int non_initialized_int;

int dummy = non_initialized_int;





// empty for loop
for …
Run Code Online (Sandbox Code Playgroud)

c++ gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
494
查看次数