问题标签 [gitlab-autodevops]

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 回答
105 浏览

gitlab - 如何在 gitlab 的 autodevops 中跳过生产部署

我正在使用带有 Auto DevOps 的 Gitlab。我想使用自动 devops 但有一些自定义阶段。我已经编写了一个自定义阶段,我想跳过生产部署阶段。我该怎么做

0 投票
0 回答
92 浏览

heroku - Gitlab Autodeploy Laravel private repo composer install COMPOSER_AUTH env var not read

我有一个 laravel 应用程序,我正在尝试使用 GitLab autodevops 将其部署到 Google Kubernetes。当我触发 CI 管道时,它会启动 Herokuish PHP build 和 npm install,但是,一些 composer repos 是私有的。我知道我需要添加一个名为 COMPOSER_AUTH 的环境变量,其中包含 auth.json 的内容,其中包含允许从存储库中检索的令牌。但由于某种原因,管道总是失败,因为它没有检索这些存储库的权限。我知道 auth.json 的内容是正确的,因为我在本地尝试过它并且它有效。我希望有人能帮助我解决这个问题!

这是我在 composer.json 的 repo 部分中的内容

对于COMPOSER_AUTH变量,内容如下所示

这是我在 npm install 期间收到的一些错误消息在此处输入图像描述

0 投票
0 回答
96 浏览

kubernetes - 为什么“helm list”命令看不到 Gitlab Auto DevOps helm 版本

我有由 GitLab CI 管理的 k3s Kubernetes 集群,其中安装了 Ingress、Cert manager、Prometheus 和 GitLab Runner

使用激活的 Auto Devops 功能测试 repo。构建和发布阶段成功,我在集群中看到了相应的部署和服务。

问题是 -

正如我从自动部署 Gitlab 镜像的代码中看到的那样,我们正在使用 helm 将所有资源发布到 Kubernetes。这里是源链接

https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/blob/master/src/bin/auto-deploy#L163

但是当我跑步时

当我将集群连接到 Gitlab 时,我只能看到已安装的应用程序的版本,就像这样。但是不存在由自动部署脚本创建的版本。

为什么它会这样?我认为从哪里创建发布无关紧要,它们应该可以通过标准 helm 命令看到

0 投票
0 回答
138 浏览

amazon-web-services - 无法运行 gitlab autodevops

我创建了一个 terraform-ansible 脚本,它将启动 6 个实例并在这些实例上安装 confluent kafka,但是当我尝试在 gitlab 中运行 autodevops 时,每次它都失败并出现以下错误:

这是我的 .gitlab-ci.yml

有人可以帮忙吗?我错过了什么吗?

0 投票
1 回答
1030 浏览

maven - 如何在 GitLab-CI Auto DevOps 中使用自定义 settings.xml?

我正在使用GitLab CI Auto DevOps在 DinD (docker-in-docker) 运行器中编译基于 Maven 的项目。

CI 作业开始,并且正确检测到 Maven 的 buildpack(基于 herokuish)。

如何在不切换到自定义 .gitlab-ci.yml 的情况下配置自定义设置文件?

我想继续使用 Auto DevOps。

0 投票
0 回答
17 浏览

gitlab - 如何使用 GitLab AutoDevOps 部署 Dockerfile

我有一个 Dockerfile,我想在使用 GitLab AutoDevOps 时将其部署到我的 k8s。我在 GitLab 上创建了一个项目并仅添加了 Dockerfile,但它仅使用它来构建映像,但我的目标是部署 Dockerfile 本身。

我怎样才能做到这一点?

0 投票
1 回答
90 浏览

gitlab-ci - Gitlab Auto Deploy 无法连接到 Docker

我已经使用 Helm 在 Kubernetes 上安装了 Gitlab,并尝试让 Auto DevOps 正常工作,但我从 Auto DevOps 管道中遇到了以下问题:

我已经阅读了 Docker-in-Docker 的问题,但我无法让它工作。

我也尝试设置DOCKER_HOST: tcp://docker:2375/变量,但我仍然得到同样的错误。

我的 Gitlab Runner Helm 值如下所示:

我尝试使用Auto-DevOps.gitlab-ci.yml模板

我的集群使用集群证书方法集成到 Gitlab 中,并运行简单的 CI/CD,例如

工作正常

我试过docker:18.09.7, docker:19.03.1and docker:latest(以及相应的-dind服务,有或没有设置DOCKER_HOST: tcp://docker:2375/

我不知道我错过了什么。

0 投票
0 回答
115 浏览

kubernetes - 如何将 PersistentVolumeClaim 添加到运行 GitLab AutoDevops 的部署中?

我想达到什么目的?

我们正在使用一个自托管的 GitLab 实例,并使用 GitLab AutoDevops 将我们的项目部署到 Kubernetes 集群。在撰写本文时,我们只使用集群中的一个节点。对于我们的一个项目,重要的是构建的应用程序(即 Pod)能够访问(只读)存储在 Kubernetes 集群节点本身上的文件。

我尝试了什么?

  • 在我们的集群上创建了一个 (hostPath) PersistentVolume (PV)
  • 在我们的集群上创建了一个 PersistentVolumeClaim (PVC)(名为“test-api-claim”)

现在 GitLab AutoDevops 使用默认的舵图来部署应用程序。为了修改它的行为,我已将此图表添加到项目的存储库中(如果找到,GitLab AutoDevops 会自动使用项目的 ./chart 目录中的图表)。所以我的思路是修改图表,让部署的 Pod 使用我在集群上手动创建的 PV 和 PVC。

因此,我修改了可以在此处找到的 deployment.yaml 文件。正如您在以下代码片段中看到的那样,我添加了 volumeMounts 和 volumes 键(默认/原始文件中不存在)。滚动到片段的末尾以查看添加的键。

问题是什么?

现在,当我触发管道来部署应用程序(使用 AutoDevops 和我修改后的 helm 图表)时,我收到了这个错误:

脚本中的第 71 行引用了 yaml 中的 valueFrom.secretKeyRef.name:

奇怪的是,当我删除 volumes 和 volumeMounts 键时,它按预期工作(并且 valueFrom.secretKeyRef.name 仍然存在并且不会引起任何问题..)。 我没有在 yaml 文件中使用制表符,我仔细检查了缩进。

两个问题

  • 我的 yaml 可能有问题吗?
  • 有谁知道实现我想要的行为的另一种解决方案?(将 PVC 添加到部署中以便 pod 实际使用它?)

一般信息

  • 我们使用 GitLab EE 13.12.11

  • 对于auto-deploy-image(它提供了我所指的舵图),我们使用版本 1.0.7

提前致谢,祝您有美好的一天!

0 投票
1 回答
93 浏览

gitlab-ci - 设置适用于 CI 配置中所有作业的变量/配置

如何设置适用于管道中所有作业/步骤的变量或配置?我正在使用自动 Devops。

目前,我使用如下,但我想将重试配置应用于管道中的所有作业,而不是为每个作业指定它,如下所示。有没有办法做到这一点 ?

0 投票
1 回答
95 浏览

android - 如何使用自动 devops 定位 .gitlab-ci.yml 中的较新版本(java 11 而不是 8 和 Android 31 而不是 29)

我在Android.gitlab-ci.yml 这里使用 gitlab auto devops android 模板,但它使用的是 java 8 映像(而我想使用 java 11)。此外,它已ANDROID_COMPILE_SDK设置为“29”,我想用最新版本编译我的应用程序 - 目前是 31。