问题标签 [configuration-as-code]

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 投票
0 回答
117 浏览

configuration - ansible 基础设施即代码:从配置文件中创建、更新、删除用户

TLDR

我希望我们基础设施上的用户准确地反映我提供给 ansible 的配置文件(json)。

一个快速而简单的方法是:

  • 删除所有用户
  • 重新创建所有用户

但这意味着在每次部署时,用户都会消失片刻,这是必须避免的!更好的方法可能是:

  • 列出基础设施上的所有用户
  • 创建丢失的用户
  • 更新所有用户(确保他们使用 json 文件中的最新配置)
  • 删除所有其他用户

虽然我可能可以手动实现,但这似乎相当麻烦。有没有更简单的方法可以用 ansible 实现这个?

很长的故事

我们ansible用来配置我们的基础设施。例如,在创建用户时,主要任务如下所示:

所以我们只是使用该PUT方法来创建/更新用户。这种方法的难点:

  • 基础设施必须提供创建/更新方法(PUTPOST带有覆盖选项或类似的东西)
  • 当一个用户被删除时,我们删除了相应的 json 文件,再次运行 ansible 脚本不会删除该用户。
0 投票
1 回答
177 浏览

apache-kafka - 如何以声明方式管理 Kafka 主题?

我们正在使用 Apache Kafka 并且有很多手动创建的主题(带有自定义主题配置)。我们希望像管理我们的其他基础设施/配置一样以代码的形式管理我们的主题。

我们如何以编程方式和声明方式管理我们的主题?什么是理智的方式?

0 投票
2 回答
395 浏览

shell - 如何在 Jenkins 配置中将 ${} 转义为代码(casc)插件?

我正在使用 Jenkins 配置即代码 (CASC) 插件在 docker 内的服务器启动期间创建 Jenkins 作业。我编写了一个 shell 脚本作为作业配置中的一个步骤。

创建作业后,我希望最终脚本步骤如下所示。

但是在服务器启动期间,它会引发以下错误。

似乎${CAPP_ENTRY[0]}在创造就业机会之前得到评估,结果是(\)。我想避免 ${} 在创建工作之前获得评估。我尝试了以下方式。

  • GROUP_ID_PATH=(\${CAPP_ENTRY[0]})
  • GROUP_ID_PATH=(\$\{CAPP_ENTRY[0]})
  • GROUP_ID_PATH=(\"${CAPP_ENTRY[0]}\")

以上都没有奏效。非常感谢任何关于我如何避免它被评估的建议。

0 投票
8 回答
15644 浏览

jenkins - 如何修复 Jenkins java.lang.IllegalStateException:在加载之前尝试保存全局配置

我从 jenkins 2.219 升级到 2.272(撰写本文时的最新版本),现在在 Jenkins 启动时得到下面的堆栈跟踪。

Jenkins 文档说这是由于 Configuration as Code 插件并将 jvm args 设置为-Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000. 文档还说要增加值,直到错误消失,但到目前为止我480000仍然遇到错误。我也没有看到我安装了 Configuration as Code 插件。

如何解决这个问题?

0 投票
0 回答
88 浏览

jenkins - Job DSL 插件:Casc 重新加载按钮工作正常,但 Groovy 脚本不行?

有关详细信息和示例代码,请参阅此 Reddit 帖子:https ://www.reddit.com/r/jenkinsci/comments/l0w4ju/job_dsl_plugin_reload_button_works_fine_on/

基本上,通过“configuration-as-code”页面手动重新加载可以正常工作,但是当在 yaml 文件中定义文件夹和/或作业时,在 Groovy 脚本中使用“ConfigurationAsCode.get().configure()”重新加载会失败。当 yaml 中没有定义作业或文件夹时,Groovy reload 命令可以正常工作,因此我认为脚本权限和语法是正确的。

0 投票
1 回答
285 浏览

jenkins - Jenkins CasC 处理令牌配置即代码

我一直在尝试通过 CasC(BitBucket 插件)提供一些令牌,但是每次 Jenkins 实例重新启动时,令牌都不起作用。正如我看到的那样,因为詹金斯使用不同的盐并且哈希正在改变。我如何以常规方式提供令牌以产生秘密?

0 投票
1 回答
116 浏览

kotlin - Kotlin BuildType 'XYZ': id 'XYZ' is already used in BuildType(uuid='', id='XYZ', name='Deploy to envr') 错误

我试图重构包含 TeamCity 管道配置的 Kotlin 文件。但是,我不断收到以下错误:

BuildType 'KotlinExperiments_DeployToEnvironment': id 'KotlinExperiments_DeployToEnvironment' 已在 BuildType 中使用(uuid='', id='KotlinExperiments_DeployToEnvironment', name='Deploy to test')

我试图动态分配一个 ID,但这似乎不起作用。以下是相关文件的链接:

我错过了什么?

0 投票
0 回答
11 浏览

gitops - 如何将 UI 和核心原理配置作为代码使用?

这可能不是一个真正的典型开发人员问题,但我搜索有关Configuration as Code (GitOps)UI 的想法或最佳实践,以提供建议和帮助以在 Git 中创建、更新和维护配置。有什么想法吗?

非常感谢!

0 投票
1 回答
106 浏览

docker - 如何从 Bamboo YAML 中删除隐含的“结帐”任务

我正在使用 Bamboo 构建系统来创建和部署 docker 映像。我有三个阶段对应于:

  1. 构建 Docker 镜像
  2. 标记图像
  3. 部署映像

在构建阶段,我正在提取我Dockerfile的 .git 以及从 git 构建图像所需的任何其他依赖项。然后我正在构建 docker 映像,该映像存储在我的本地存储库中。

在标记和部署阶段,我正在使用构建阶段中存储的 docker 映像执行明显的任务。

没有必要在最后两个阶段检查源代码——事实上,出于各种原因应该避免。

问题: 有没有办法避免让竹子在最后两个步骤中执行此代码检查?

checkout任务排除在我之外bamboo.yml是无效的,因为竹子隐含地将它添加回来。我能做的最好的似乎是将force-clean-build标签集添加到false,如下所示:

0 投票
0 回答
27 浏览

jenkins - 詹金斯无法启动

我已将配置用作代码插件版本 1.55.1。但是詹金斯无法从以下错误开始

下面是我的身份验证矩阵