问题标签 [gitlab-ci]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4868 浏览

angularjs - Angularjs + grunt + bower + Gitlab CI。测试设置

我有一个 GitLab CI 运行器,每次我在我的分支中推送代码时都会运行它。问题是:我使用 npm+bower 来拥有我需要的所有依赖项,但我不想为每个测试下载所有依赖项:这是浪费网络和时间。

所以我想出了这个脚本。这有什么意义吗?

无论如何,我面临的一个问题是它总是与凉亭超时:

此外,它没有完成一次,所以我不确定,但似乎每次都重新下载所有包。

我试图在网上搜索,但我没有找到任何东西。有办法实现我想要实现的目标吗?(也采用完全不同的策略。我也可以通过 ssh 访问运行器)

0 投票
2 回答
6905 浏览

angularjs - 如何使用 gitlab-ci-multi-runner 在 GitLab CI 中自动运行测试

我开始使用适用于 Windows(64 位)的 gitlab-ci-multi-runner 使用 GitLab CI。到目前为止一切正常,与我的存储库有连接,我配置的作业在每次推送时开始。

我现在要做的是拥有一项运行npm install以下载所有依赖项的作业和一项通过运行karma start karma.conf.js或使用 grunt 和 running来执行我用 karma/jasmine 编写的所有测试的作业grunt test

所以我尝试的第一份工作是:

前两个命令被执行,但最后一个被完全忽略。所以我试图拆分工作。第一个命令获得自己的工作(选项卡“并行运行”),最后一个命令在选项卡“成功运行”中移动到自己的工作。现在所有依赖项都已安装,第二个作业开始。到目前为止一切顺利,但第二项工作从删除所有以前安装的依赖项开始,然后尝试运行karma start karma.conf.js. 这显然会导致所有测试失败,因为未下载 npm 依赖项“angular-mocks”。如果我添加npm install到第二份工作(这对我来说没有多大意义),业力任务将再次被忽略。

这里有什么问题?我怎样才能解决这个问题?有没有办法不总是下载每个测试执行的所有依赖项?

0 投票
1 回答
1464 浏览

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

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

0 投票
2 回答
3433 浏览

gitlab - GitLab-CI PHPunit Composer laravel

我是 GitLab-CI 和 Docker 的新手,我一直在找一个跑步者来运行我的 phpunit 构建。按照此处的说明操作: https ://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md

但是,按照他们的指示,容器显然不包含我需要的工具。所以问题是,注册多运行器以拥有支持 phpunit、composer 的运行器时的配置是什么,以便我可以测试我的 laravel 构建。

0 投票
1 回答
1323 浏览

node.js - GitLab + GitLab CI + 通过 NPM 的依赖 SSH 项目

目前我们使用 GitLab 来管理我们的 repos 和 GitLab CI 作为我们的 CI。

我有一个项目,其中包含另一个 GitLab 项目作为依赖项(通过 NPM)。该项目是内部的,并且 package.json 中的 URL 以 开头git+ssh://git@,这是我们在本地机器上使用的。我们设置了 SSH 密钥。

但是,GitLab CI 似乎无法使用相同的机制来安装这个依赖项目(通过npm install)。

我得到的错误是:

我们缺少什么?我需要一个不需要我更改package.json.

0 投票
0 回答
1764 浏览

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

我对 Gitlab 和 Gitlab CI 比较陌生(实际上是整个 CI 的事情),我已经在同一台机器上成功地设置了我的 Gitlab 服务器和 Gitlab CI 服务器(由于缺少备用服务器,而且几乎是因为我们的团队是在整个 CI 方面仍处于“测试”阶段)。

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

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

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

在我们的 Gitlab CI Jobs 中,我只是把它放在tox那里,因为这就是我在我的开发服务器上执行的所有内容(这个设置在我的开发机器上运行良好,tox即使我不在 virtualenv 上也可以运行),但我继续拥有这个运行此命令时,我的 Gitlab CI 上出现权限被拒绝错误(见下文)

顺便说一句,我正在使用新gitlab-ci-multi-runner的,并且我几乎回收了我在我的角度项目中使用的跑步者(我尝试在同一台机器上为我们的烧瓶项目注册一个新的,但是当我尝试测试时它没有响应它)

另外我已经tox使用全局安装了sudo pip install tox,因为这几乎是我刚刚对我们的 Angular 项目所做的,sudo npm install -g bower gulp并且sudo npm install npm -g

然后我只是把

在我们的 Angular 项目 CI Job 上

0 投票
1 回答
1508 浏览

python - 在 gitlab-ci 中为 Django 运行 selenium 测试

我正在使用最新的 Firefox,xvfb

和我的 gitlab-ci作业脚本

在添加 selenium 测试之前,django 测试用例通过且没有任何错误。当我将 selenium 测试用例添加到我的项目 ci shell 提示以下错误

在我的本地系统中,我可以毫无错误地运行这两个测试。我想我在作业脚本中遗漏了一些东西。

谢谢..

0 投票
1 回答
2917 浏览

ubuntu - 在 GitLab 中添加证书颁发机构?

所以我试图在我的服务器上使用 HTTPS 设置 GitLab。听起来很简单吧?

出色地...

我有点使用自签名证书。也不一定只是自签名证书。我的系统上安装了根证书(运行 Ubuntu 15.04,位于 /etc/ssl/certs 文件夹和 /etc/ssl/certs 的 ca-certificates.crt 文件中。我有一个中间证书和一个服务器证书我在我的服务器上用于 HTTPS。但是,我似乎无法让 OAUTH 从 GitLab CI 工作。在我从服务器上的 GitLab 帐户按授权后,我收到一个 500 错误,上面写着“我们正在抱歉,出了点问题。” 在日志中,我收到此错误:

Faraday::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed): app/controllers/user_sessions_controller.rb:18:in `callback'

我似乎无法弄清楚是什么导致了这个问题。我正在为网络服务器运行证书链,我在 Qualys SSLLabs 测试中获得 A,我在寻找解决方案时看到的 SSL Doctor Ruby 应用程序发现我的证书链没有问题。在这一点上,我完全不知道可能导致此错误的原因。有人可以帮我解决这个问题吗?

0 投票
1 回答
895 浏览

gitlab - GitLab 和 GitLab CI WebHook 错误

我正在运行 GitLab 7.11.4 和 GitLab CI 7.11.4,它们都通过 Omnibus 包安装。我已经运行 GitLab 一段时间了,但最近才启用 CI 服务。我已成功设置 GitLab 和 CI,以便分别在 [code.subdomain.com] 和 [ci.subdomain.com] 上访问它们。我已按照说明为一个特定项目启用 CI 访问,我已经设置了一个运行器,并且我已经制作了一个用于构建的测试 shell 脚本(基本上:)cmake .. && make

这是我遇到问题的地方。我应该访问我的 GitLab 项目设置页面并点击“测试设置”。当我这样做时,我收到错误We tried to send a request to the provided URL but an error occured。gitlab-rails/production.log 显示了这一点:

我已经替换了该日志中的 [namespace] 和 [project],但它们确实显示了正确的条目。

GitLab CI 似乎从未收到请求,并且尝试对我的项目进行测试提交也不会触发 GitLab CI。

我不知道该怎么做,似乎找不到任何可能导致此问题的文档。非常感谢任何帮助或指导。

0 投票
1 回答
4803 浏览

rsync - 您如何将 Gitlab CI 中的构建文件同步到另一台服务器

我不清楚如何使用 rsync 将我的构建文件从 Gitlab CI(托管在https://ci.gitlab.com上)传送到我的个人服务器。

我已经设置了1 个测试1 个部署作业。

部署选项卡下,我输入了 bash 命令:

  1. 安装 rsync
  2. 更新包
  3. 最后,通过 SSH 将文件传输到我的个人服务器的 rsync 命令。

当我为我的私人个人服务器输入 SSH 凭据(带有详细标志)时,似乎 SSH 密钥是问题所在。在 Gitlab 中,我已经建立了部署密钥(对于钩子 - 对此进行了测试并且可以正常工作)。

我在哪里可以找到Gitlab 部署实例的公共 SSH 密钥,以便我可以在我的服务器上安装该密钥?

以下是在 Gitlab CI 部署作业脚本窗格中输入的确切脚本: