问题标签 [gitlab-ci-runner]
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.
linux - 将 gitlab-ci(或任何 CI)与 kubernetes 或 google 容器引擎一起使用(gitlab-runner 不会找到 kubectl)
我想使用 gitlab-ci (或任何其他 CI,任何工作)部署到谷歌容器引擎使用kubectl run
我在谷歌计算引擎上有一个工作的 gitlab 运行器,但无法弄清楚如何安装gcloud
,kubectl
因此运行器在其路径中具有其可执行文件和配置。
运行pwd
gitlab ci 文件显示/home/gitlab-runner
并运行whoami
显示 root,所以我以用户gitlab-runner
和用户身份安装 kubectlroot
但 gitlab-ci-multirunner 仍然抱怨
对于kubectl
. 我可能对 gitlab-runner 如何生成构建有一个有缺陷的理解,但它可以访问docker
安装,那么我如何让它访问 gcloud / kubectl 安装?
是否有更直接的版本可以部署到 kubernetes / google 容器引擎?
非常感谢!
gitlab-ci-runner - 阻止 GitLab.com 共享运行器启动默认服务 mysql、postgres、redis
(诚然,这并不重要。)
我正在使用 GitLab.com CI 的共享运行器来运行我的 CI 构建。他们似乎总是启动 mysql、postgres 和 redis 服务,即使我有这条线
在我的.gitlab-ci.yml
档案中。
有没有办法阻止共享的跑步者启动这些服务?诚然,除了占用资源并在构建日志中产生几行噪音之外,它们并没有受到伤害。
gitlab - 没有可路由 IP 的 Gitlab CI Runner
我想在我的工作流程中使用 Gitlab CI,但是因为我的项目依赖于许可软件,所以我需要它在我的机器上运行,它没有公共的、可路由的 IP。我的想法是我可以在 heroku 上创建一个简单的服务器来接受 webhook 并将请求放入消息队列(例如 redis DB),我的本地机器可以轮询并实际运行 CI 作业。然而,看起来整个 Gitlab CI 系统是假设 gitlab.com 服务器可以直接与跑步者对话的情况下编写的。有人知道通过 webhook 代理 CI 构建触发器或使 gitlab-runner 拉构建作业而不是接受推送事件的概念证明吗?如有必要,我可以滚动我自己的跑步者来轮询构建事件并运行我需要的命令,但使用现有的真的很好,记录基础设施/文件格式,而不是重新发明轮子。感谢您的任何建议。
gitlab - Gitlab CI: running the same set of tests on several machines
In high performance computing is crucial to have a code tested against many different architectures/compilers: from a laptop to a supercomputer.
Assuming that we have
N
testing machines/workers (each one runninggitlab-ci-runner
);M
tests,
what shall be the correct layout of .gitlab-ci.yml
to ensure that each
of the N
machines runs all the tests?
Looks to me that adding just more workers ends up in a round-robin
like assignment of the jobs.
Thanks for your help.
php - How use my docker-compose configuration with gitlab CI
I have a project on gitlab, and I would use gitlab CI for unit testing. Actually, I have a other repository name "docker" with docker-compose.yml and Dockerfile for two project (because i reproduce the production configuration, the two project are interdependant)
Actually in my dev configuration
in Projects directory:
- docker
- project_1
- project_2
in docker directory:
- docker-compose.yml
- Dockerfile-project1
- Dockerfile-project2
- [some config file ask in dockerFile]
docker-compose.yml have relative path as ../project_1 and ../project_2
For set up my configuration, I make :
- cd docker
- docker-compose up -d project1 (name in docker-compose.yml)
- docker exec -ti project1 bash
Question ? I want know how I can pull the git repository "docker" and launch docker-compose up for the project1 since gitlab CI start ?
Thanks
gitlab-ci - gitlab-ci-runner 的结果是什么,上传了什么?
我正在为 gitlab-ci 设置做准备,但我遇到了 2 个无法找到答案的问题:
1) 如果 Windows 上不支持工件(使用 shell 执行器),构建脚本完成后会上传什么?
2)artifacts 是告诉跑步者应该上传什么的正确方法吗?或者只是告诉跑步者一些生成的垃圾可能很有趣,所以在真实结果旁边上传它会很好吗?
git - 在 gitlab-ci 中是否可以将另一个分支构建到另一个目录?
我想用一个gitlab-runner
来制作两个相似但不完全相同的版本。
在git
存储库中,我有几个分支:prod、test、dev。是否可以只使用一个跑步者在不同的路径上构建?
例如:
/home/gitlab-runner/builds/860ee11a/0/projectname
- 产品/home/gitlab-runner/builds/860ee11a/1/projectname
- 测试/home/gitlab-runner/builds/860ee11a/2/projectname
- 开发
如果是这样,你是怎么做到的?
android - 适用于 Android 项目的 GitLab.com CI 共享运行器
我想将 GitLab CI 系统用于我的 Android 应用程序 gradle 项目。项目存储库托管在GitLab.com上,因此我想使用 Gitlab Inc. 提供的共享运行器之一。
虽然官方教程提供了 NodeJS 项目运行器配置的示例,并且还有用于 Ruby 项目的共享运行器,但我找不到任何示例,甚至找不到支持 Android 应用程序的运行器。
- 是否有GitLab.com 提供的共享运行器,它支持开箱即用的 Android 项目(通过指定
image: android:4.2.2
或类似的方式)? - 有没有办法配置GitLab.com 提供的现有共享运行器以支持 Android 项目(通过修改.gitlab-ci.yml文件)?
gitlab-ci - 如果 npm 发布失败,Gitlab-ci-multi-runner 将继续
我使用 gitlab-ci-multi-runner 将我们的工件发布到我们自己的 npm 注册表。这是 .gitlab-ci.yml 文件:
有时 npm 发布会失败。这是输出:
我希望 gitlab-ci-multi-runner 因为作业失败而停止。但事实并非如此!它报告构建成功。
如果 npm publish 失败,任何人都知道如何使构建失败?
docker - Gitlab CI 运行器配置与 docker 上的缓存
我似乎无法在 gitlab CI 的作业之间获取缓存或工件。我怀疑这与我的配置有关,但我不确定是什么。我正在使用以下 docker-compose 配置在 docker 中运行 gitlab 和 gitlab-ci-multirunner。为简洁起见,我省略了数据库配置和一些环境变量:
运行器配置 ( config.toml
) 为:
docker-bash
所指的图像只是安装了 bash的官方docker:1.10图像。
我的构建过程包括 3 个步骤:
npm install
在官方node:5镜像中运行和测试。现在,为了测试部署,我已经离开了这一步。- 构建一个包含代码的 docker 镜像
- 使用 ansible,通过自定义构建的 ansible docker 镜像将构建的镜像部署到生产服务器。
该.gitlab-ci.yml
文件如下所示:
如您所见,压缩后的 docker 映像在此处在缓存和工件部分中都被引用,但在部署步骤中实际上不可用,其中 ansible 应该将其复制到远程计算机。我试过包含一个ls
命令,所以检查文件夹内容,文件显然不存在,但它肯定是构建的,我可以从 gitlab UI 下载它。这是部署作业的日志:
我怀疑我没有正确设置或使用跑步者,但是除了非常简单的案例之外,我在文档中找不到太多东西,而且我对该工具的了解还不够,无法知道它是如何在引擎盖下组合在一起的.