问题标签 [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.

0 投票
1 回答
832 浏览

docker - 如何在 CI 脚本作业之前在推送时重建 docker 映像

我想在 GitLab CI 脚本中生成 Dockerfile 并构建它。然后在构建作业中使用这个新生成的图像。我怎样才能做到这一点?尝试使用全局 before_script,但它已经在默认容器中启动。我需要从任何容器中执行此操作。

0 投票
1 回答
3083 浏览

git - 如何使用 Gitlab CI 运行器设置一个非常简单的部署?

我想将新工作从我的 Gitlab 存储库自动部署到在生产服务器上运行的实时网站。实时网站是live分支的 GIT 回购克隆。

我的问题:

  • 每次“构建”发生时,跑步者似乎都将我的回购重新克隆到~/builds/.... 这是强制性行为吗?我想我真正想要的只是git pull在我的生产网站目录中。

  • 如果它真的必须每次都克隆 repo,为什么不git reset呢?至少这会随着时间的推移节省大量带宽,不是吗?

  • 如何运行deploy.sh存储库根目录中的哪个?我目前在我的 gitlab.com 构建信息中收到此错误:bash: line 23: deploy.sh: command not found

我的.gitlab-ci.yml文件:

细节

为此,我想deploy.sh在生产服务器上运行一个简单的 shell 脚本,每当我推送到我的 repo 的特定分支(live在我的例子中是分支)时。这个 shell 脚本在我的 GIT 存储库中,与我的.gitlab-ci.yml.

该脚本基本上只是执行git reset,fetchpull,使生产版本与存储库中的内容保持同步。

我在我的服务器上安装了一个“shell”多运行器,并将其连接到 gitlab.com,在那里我可以看到它处于活动状态。

总的来说,我是在叫错树吗?我是否应该更改我的deploy.sh,以便它不会对新工作进行 git checkout,而是使用cp或者可能rsync将新代码从生产网站移动~/builds/...到生产网站?

0 投票
1 回答
1671 浏览

git - 将 AWS 实例设置为 ci 的 gitlab runner

我已经在我的 AWS 实例上成功安装了 gitlab-ci-multirunners。但是,在配置过程中,我被要求输入 AWS 实例的密码,并且由于我使用 .pem 文件进行身份验证,因此我无法完成运行器配置。

在配置中传递 .pem 文件的最佳方法是什么?

0 投票
0 回答
201 浏览

gitlab - Gitlab CI 构建未决问题

我不知道这个问题是从哪里来的。我确定,我没有做那样的事情,我只是在正常模式下工作。有人可以帮我解决这个问题吗?

0 投票
1 回答
5935 浏览

gitlab - 是否可以为一个 CI 构建使用多个 gitlab 运行器?

有一个项目有很多测试,运行它们大约需要 20 分钟。不幸的是,不可能在一个 gitlab 运行器中并行它们。我想知道是否有什么好的做法可以在相同的环境下启动多个 gitlab 运行器,但测试套件不同?

0 投票
1 回答
3061 浏览

gitlab - Gitlab页面卡在待处理

几天前我设置了一个Gitlab pages 页面。直到今天早上,它的建设都很好。现在,尽管我尝试重新启动它,但它似乎被困住pending并且尚未构建。

我检查了是否有共享跑步者。它目前说:

在项目设置的 Runner 部分中。

这是 .yml 文件。

此处pages的安装指南中推荐了此代码。


我知道这里有一个关于堆栈溢出的类似问题但是这个问题在 4 个月前得到了解决,而且这个问题似乎重新出现了(至少对我来说)。

0 投票
1 回答
9810 浏览

git - GitLab。提交待处理

我一直在等待提交结束等待一段时间......

前言:我不知道持续集成是如何工作的,但我不需要它......

我该如何解决这个问题?我不明白为什么提交待定。

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
1024 浏览

gitlab-ci - 使用 Gitlab CI 构建一个 maven 项目

我正在尝试在 Gitlab CI 中获得一份现有的 Jenkins 工作。

在 Jenkins 上,我的项目是通过构建的,mvn clean package然后将生成的 war 文件移动到 tomcat 容器中。完成后,将触发另一项工作以调用该项目的特定 URL 来做一些与我的问题无关的事情。完成后,tomcat 停止,2 个作业完成。

我怎样才能用 Gitlab CI 做到这一点?

我开始做某事

但我从来没有看到 echo 'TEST' 这很有意义,因为任务mvn tomcat:run永远不会停止......但是我怎样才能构建和部署项目,然后调用它的特定 url?构建完成后,我不再需要 tomcat 实例。


顺便说一句,我使用我自己的 docker 镜像,它安装了一个带有 Maven、Java 和 Tomcat 的 Ubuntu 来满足我的项目要求。

0 投票
3 回答
24094 浏览

docker - 什么是特殊的 gitlab-ci-token 用户?

gitlab 容器注册表的文档 ( https://gitlab.com/help/container_registry/README.md ) 提供了一个带有此指令的配置示例:

- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.example.com

这个解释:

You have to use the credentials of the special gitlab-ci-token user with its password stored in $CI_BUILD_TOKEN in order to push to the Registry connected to your project. This allows you to automated building and deployment of your Docker images.

我找不到关于这个特殊gitlab-ci-token用户的任何文档,也找不到关于$CI_BUILD_TOKENvar 的任何文档。

这个特殊用户是什么?它是自动可用的吗?它必须在某个地方定义吗?应该赋予$CI_BUILD_TOKENvar 什么值?

0 投票
5 回答
13452 浏览

continuous-integration - Gitlab CI - 无法注册跑步者

我已经从源代码设置了我的 gitlab 安装,使用letsencrypt 保护它并将其部署在https://gitlab.mydomain.com. 我可以访问该网站并创建存储库等,但我找不到为安装注册 gitlab ci 运行器的方法。

我的 gitlab 系统运行良好,我真的没有解释为什么会有connection reset by peer. 当我尝试直接从错误消息中卷曲地址时,它会返回正确的响应。