问题标签 [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.
php - 如何防止解析错误停止linux命令执行链
我们有一个自动运行测试的 CI 服务器。一切都很好,除了今天早上一个构建被推送,当“phpunit”运行时它遇到了一些错误的 php 语法,它退出了下面的执行链,所以它artisan ci:cleanup
永远不会运行。
GitLab-CI 的日志输出的尾部如下所示,表明此解析错误阻止了清理运行。
我宁愿避免编写 bash 文件或其他东西来处理执行/错误,但我仍然需要像往常一样在 GitLab-CI 的日志中显示输出。
在不阻止清理运行的情况下,我应该如何最好地处理这种终止错误?
python - 在 gitlab ci 上运行 django 测试
我在 django 1.4 中有项目,我需要在 contious 集成系统(GitLab 6.8.1 和 Gitlab CI 4.3)中运行 django 测试。
Gitlab Runner 已安装在带有项目的服务器上。
当我运行时:
cd project/app/ && ./runtest.sh test some_app
我得到:
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named django.core.management
我如何运行测试?
nginx - 使用 gitlab 的 nginx 服务另一个应用程序
您好,我已经使用此
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#installation安装了 Gitlab
现在我想使用 nginx 来提供除 gitlab 应用程序以外的其他内容我该怎么做
- 我需要修改的配置文件在哪里
- 如何指向 /var/www 之类的目录,以便 nginx 知道这是另一个应用程序的根目录。
更新(忘了提我在 Red Hat 6.5 下运行,欢迎使用 Debian/Ubuntu 解决方案)
token - Gitlab CI 无法克隆 gitlab repo
有没有人有同样的问题?
我将 Gitlab ci 与 Gitlab 连接起来。测试运行时,Gitlab CI 无法克隆 Gitlabs 存储库。得到这个错误:
testing - 生成文件测试失败后,Gitlab-CI 运行程序挂起
我正在使用 Gitlab-CI 进行构建测试。我有一个非常简单的测试,它将测试安装/构建的输出与已知输出进行比较。我把测试放在一个makefile中。
Makefile 条目如下所示:
当差异通过时,返回退出代码 0,如果差异显示文件存在差异,则返回退出代码 1。
我试过的:
- 无论结果如何,从任何 shell运行
make test
都会运行测试并退出diff
make test
从 shell 运行作为 运行gitlab_ci_runner
测试并且无论diff
结果如何都存在- 从 Gitlab-CI 运行时,
diff
退出状态为 0,构建返回成功
问题:
- 在 Gitlab-CI 中运行且
diff
退出状态为非 0 时,构建挂起。 - 构建屏幕上的输出是 diff 的输出,最后一行是预期的错误:
make: *** [test] Error 1
- 之后,循环符号保持亮起,运行器不会因构建失败而退出。
有任何想法吗?我认为这可能与 Makefiles 有关,但如果 Make 以错误 1 退出以进行任何其他测试,Gitlab-CI 将以失败状态退出。我只能看到它发生在差异的输出上。
谢谢!
gitlab - Gitlab api在合并请求中获取提交
从 GITLAB API 文档中,我可以获取合并请求详细信息,从中可以获取源项目和分支。
获取分支中提交列表的 api,列出该分支中的所有提交。
有没有办法通过 API 获取特定于合并请求的提交列表。?
目标是只知道合并请求中的新提交。
谢谢你。
android - 使用 Gitlab CI 生成 Android 构建
我刚刚安装了 Gitlab 作为我的项目的存储库,我想利用他们的 Gitlab CI 系统。我想在每次提交后自动生成分发和调试 Apk。我用谷歌搜索,但没有找到任何教程或类似案例。如果有人能以某种方式指导我,那就太好了。
谢谢!
git - 使用 GitLab CI 持续交付
我一直在思考如何使用 GitLab CI 实现持续交付?
我为 CD 阅读的每个解决方案都依赖于多步管道(例如 Jenkins),或者是侦听 webhook 并提供自己的部署接口的自定义应用程序(例如,GitHub 的 HuBot + Heaven + Janky)。
如果我们只关心在 Master 分支上执行 CD,并且我们的测试套件/部署步骤非常快,您可以简单地将其包含在 GitLab CI 运行的 shell 脚本中......但是,如果您的测试套件不快?或者您的部署可能需要几分钟来下载软件包等?然后你的 CI Runner 正忙着做一些事情。
我能想出的最佳解决方案是:
- 创建一个接受来自 GitLab 和 GitLab CI 的 Web Hooks 的 Web 应用程序,并跟踪所做的每个单独的提交和构建状态。
- 启动自己的自定义运行程序,尝试为收到的每个通过的 webhook 执行交付到暂存站点。应用程序可以使用,例如,fabistrano,以便于部署/回滚。
- 收听合并请求以合并到通过所有测试的 GitLab 中被接受的 master。
有什么想法吗?有人用 GitLab CI 实现过 CD 吗?
gitlab - gitlab 6.0.2 Jenkins CI 服务未显示
我有一个 gitlab 服务器版本“Gitlab 6.0.2 10b0b8f”。我想连接“Jenkins CI”以进行构建。为此,我正在关注-http: //doc.gitlab.com/ee/integration/jenkins.html。但是在项目服务中,我看不到“Jenkins CI”。只有我能看到“Gitlab CI”。你能帮我么。任何例子都会被应用。
ssh - 让 GitLab CI 克隆私有存储库
我设置了 GitLab 和 GitLab CI 来托管和测试我的一些私人存储库。对于这个系统下的作曲家模块,我设置了 Satis 来解析我的私有包。
显然,这些私有包需要一个 ssh 密钥来克隆它们,而我在终端中有这个工作 - 我可以运行 composer install 并获取这些包,只要我ssh-add
在 shell 中添加了密钥。
但是,当在 GitLab CI 中运行我的测试时,如果项目具有这些依赖项中的任何一个,则测试将无法完成,因为我的 GitLab 实例需要身份验证才能获取 deps(显然),并且测试失败并显示Host key verification failed
.
我的问题是如何设置它,以便当运行者运行测试时,它可以在没有密码的情况下向 gitlab 进行身份验证?我已经尝试在我的 runners 文件夹中放置一个无密码的 ssh-key ~/.ssh
,但是构建甚至不会添加密钥,“eval ssh-agent -s
”后跟 ssh-add 似乎无法说明代理没有运行......