问题标签 [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.
docker - 如何在 CI 脚本作业之前在推送时重建 docker 映像
我想在 GitLab CI 脚本中生成 Dockerfile 并构建它。然后在构建作业中使用这个新生成的图像。我怎样才能做到这一点?尝试使用全局 before_script,但它已经在默认容器中启动。我需要从任何容器中执行此操作。
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
,fetch
和pull
,使生产版本与存储库中的内容保持同步。
我在我的服务器上安装了一个“shell”多运行器,并将其连接到 gitlab.com,在那里我可以看到它处于活动状态。
总的来说,我是在叫错树吗?我是否应该更改我的deploy.sh
,以便它不会对新工作进行 git checkout,而是使用cp
或者可能rsync
将新代码从生产网站移动~/builds/...
到生产网站?
git - 将 AWS 实例设置为 ci 的 gitlab runner
我已经在我的 AWS 实例上成功安装了 gitlab-ci-multirunners。但是,在配置过程中,我被要求输入 AWS 实例的密码,并且由于我使用 .pem 文件进行身份验证,因此我无法完成运行器配置。
在配置中传递 .pem 文件的最佳方法是什么?
gitlab - Gitlab CI 构建未决问题
我不知道这个问题是从哪里来的。我确定,我没有做那样的事情,我只是在正常模式下工作。有人可以帮我解决这个问题吗?
gitlab - 是否可以为一个 CI 构建使用多个 gitlab 运行器?
有一个项目有很多测试,运行它们大约需要 20 分钟。不幸的是,不可能在一个 gitlab 运行器中并行它们。我想知道是否有什么好的做法可以在相同的环境下启动多个 gitlab 运行器,但测试套件不同?
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 来满足我的项目要求。
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_TOKEN
var 的任何文档。
这个特殊用户是什么?它是自动可用的吗?它必须在某个地方定义吗?应该赋予$CI_BUILD_TOKEN
var 什么值?
continuous-integration - Gitlab CI - 无法注册跑步者
我已经从源代码设置了我的 gitlab 安装,使用letsencrypt 保护它并将其部署在https://gitlab.mydomain.com
. 我可以访问该网站并创建存储库等,但我找不到为安装注册 gitlab ci 运行器的方法。
我的 gitlab 系统运行良好,我真的没有解释为什么会有connection reset by peer
. 当我尝试直接从错误消息中卷曲地址时,它会返回正确的响应。