问题标签 [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.
gitlab - Gitlab AutoDevops 是否支持将 kubernetes 机密作为文件?
我正在尝试 GitLab AutoDevOps,并试图了解 CI/CD 变量的工作原理。
在设置 UI 中,我可以设置创建文件和环境变量。
根据文档,如果一个变量带有前缀,K8S_SECRET_
那么它会神奇地出现在部署中。我可以让它适用于环境变量,但不适用于文件变量。在这种情况下,我有两个问题:
- 如果支持,我该怎么做?
- 如果这不支持,您会推荐什么作为解决方法?具体来说,我需要能够在我的 pod 中安装 ssh 密钥。
谢谢!
devops - 什么是二进制工件?
我在寻找 devops 中的构建自动化时遇到了这个术语,我仍然不确定这个术语到底是什么意思。谁能解释一下?
webpack - ActionView::Template::Error: Webpacker 在使用 ci/cd autodevops 部署到 Gitlab 时无法在 /app/public/packs/manifest.json 中找到应用程序
它在本地运行完美,但在部署到 Gitlab 时在测试阶段使用 CI/CD 运行的管道期间收到此错误:
以下是 application.html 文件中的几行:
我的样式表是 .scss 文件,项目中没有 .css 文件。
这是我的 webpacker.yml :
我错过了什么吗?
ssl - 通配符 SaaS 平台域,通过 HTTPS,在 Kubernetes 上
我正在向 Kubernetes 部署一个自定义 SaaS 平台,我的客户获得了 X.myplatform.com 域。所以,可能是 acmecorp.myplatform.com 等。
以前,在我们旧的 devops 设置中,我们只有一个 Apache 记录,它是 *.myplatform.com,并有一个通配符Let's Encrypt证书来保护它。但是,我们现在正在迁移到 Kubernetes,我对如何处理这个问题感到有些困惑。
对于进一步的上下文,我们使用GitLab 的 Auto DevOps 功能进行部署,尽管我可以根据需要自定义我们的 Ingress 或 cert-manager 安装。
关于如何最好地实现这一目标的任何建议?我们在网络级别使用 Cloudflare,但没有他们的企业计划,我无法代理通配符子域。
continuous-integration - 使用 ArgoCD 实现 Gitlab AutoDevops
我们在 gitlab runner 的帮助下实现了 AutoDevops 功能,并使用 ArgoCD 管理 CD 阶段。因此 CI 管道构建了一个 docker 镜像,将其推送到 gitlab 注册表,CD 阶段使用推送的镜像在 ArgoCD 的帮助下部署应用程序。每次提交时,gitlab runner 都会触发管道。有没有办法可以单独使用 ArgoCD 来处理这种情况,以便管道自动触发而无需配置运行器?
gitlab-ci - 在 gitlab autodevops 中使用默认 helm 图表时如何将 ConfigMap 值作为 env 变量传递
我是一个新手,刚开始使用 gitlab 开箱即用的 auto devops 魔法。
我有一个非常基本的 Golang 微服务,我可以部署它——它使用开箱即用的默认 helm 图表(创建命名空间、服务、部署、docker 注册表管理),并且我提供自己的 Dockerfile 来构建 docker 映像。
问题:
如何在不提供自定义 helm 图表的情况下将现有的 K8 ConfigMap 条目作为环境变量读取到微服务?ConfigMap 是由其他进程在不同的命名空间中创建的
如何覆盖应该部署微服务的命名空间而不创建新的命名空间?我希望将多个微服务部署到同一个命名空间中——我不希望每个存储库都有不同的命名空间。
基本上我不想提供自定义 helm 图表,因为我认为如果我提供自定义图表,那么我还需要完成在 K8 集群上设置 docker 注册表的完整设置 - 我想避免这种情况,我想自定义我的应用程序组件、服务类型(我不想要 ClusterIP)、更改命名空间、将 configMap 引用为环境变量——无需为我的基于 golang 的基本微服务创建自定义 helm 图表。
kubernetes - Gitlab Auto DevOps 入口端点
我正在尝试使用 Gitlab 和 Google Cloud 在 Kubernetes 上配置 CI,但我坚持创建 Let's Encrypt 证书。我有 2 个集群用于 2 个环境:
- 环境范围:
production
- 用于生产实例 - 环境范围:
*
- 用于暂存和审查实例
部署后,我配置了一个带有我声明的端点的入口服务:staging.my-domain.com
第二个对我来说是个谜:le-23830502.my-domain.com
. 第二台主机在两个环境中是相等的 - 登台和生产,当我尝试生成证书时,我只能为一个环境做这件事(因为第二个 acme 挑战永远不会通过,因为我不能指向两个不同的 DNS一个子域上的 IP 地址)。
有谁知道这个主机是什么?在哪里配置,我可以禁用它还是让它在不同的环境中独一无二?
我注意到这是我来自 gitlab 的带有le-
前缀的项目 ID。我还发现 2 个环境变量 ($ADDITIONAL_HOSTS
和$ENVIRONMENT_ADDITIONAL_HOSTS
) 用于为 Ingress 添加另一个主机地址,但那个仍然存在。
分期部署:
产品部署:
.gitlab-ci.yaml:
angular - Gitlab autodevops 和 Kubernetes,在 review pod 上添加 angular 的配置文件
我有一个 Angular 项目,我尝试在 Kubernetes 集群中使用 gitlab-ci autodevops 功能进行审查。
应用程序在审查步骤中运行良好。但是要自定义后端,我需要assets/config
在运行时将文件放入文件夹中。文件内容应该是 gitlab 的 CI/CD 变量。
我用我的尝试过,.gitlab-ci.yml
但文件没有发送到正在运行的 pod,并且角度应用程序使用 api 的默认值
CONFIG_JSON
价值为
为了使我的文件在审阅窗格中可用,我缺少什么?
背景:我是 Gitlab、Kubernetes 和 Helm 的新手。