问题标签 [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.
configuration - ansible 基础设施即代码:从配置文件中创建、更新、删除用户
TLDR
我希望我们基础设施上的用户准确地反映我提供给 ansible 的配置文件(json)。
一个快速而简单的方法是:
- 删除所有用户
- 重新创建所有用户
但这意味着在每次部署时,用户都会消失片刻,这是必须避免的!更好的方法可能是:
- 列出基础设施上的所有用户
- 创建丢失的用户
- 更新所有用户(确保他们使用 json 文件中的最新配置)
- 删除所有其他用户
虽然我可能可以手动实现,但这似乎相当麻烦。有没有更简单的方法可以用 ansible 实现这个?
很长的故事
我们ansible
用来配置我们的基础设施。例如,在创建用户时,主要任务如下所示:
所以我们只是使用该PUT
方法来创建/更新用户。这种方法的难点:
- 基础设施必须提供创建/更新方法(
PUT
或POST
带有覆盖选项或类似的东西) - 当一个用户被删除时,我们删除了相应的 json 文件,再次运行 ansible 脚本不会删除该用户。
apache-kafka - 如何以声明方式管理 Kafka 主题?
我们正在使用 Apache Kafka 并且有很多手动创建的主题(带有自定义主题配置)。我们希望像管理我们的其他基础设施/配置一样以代码的形式管理我们的主题。
我们如何以编程方式和声明方式管理我们的主题?什么是理智的方式?
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]}\")
以上都没有奏效。非常感谢任何关于我如何避免它被评估的建议。
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 插件。
如何解决这个问题?
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 命令可以正常工作,因此我认为脚本权限和语法是正确的。
jenkins - Jenkins CasC 处理令牌配置即代码
我一直在尝试通过 CasC(BitBucket 插件)提供一些令牌,但是每次 Jenkins 实例重新启动时,令牌都不起作用。正如我看到的那样,因为詹金斯使用不同的盐并且哈希正在改变。我如何以常规方式提供令牌以产生秘密?
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,但这似乎不起作用。以下是相关文件的链接:
我错过了什么?
gitops - 如何将 UI 和核心原理配置作为代码使用?
这可能不是一个真正的典型开发人员问题,但我搜索有关Configuration as Code (GitOps)
UI 的想法或最佳实践,以提供建议和帮助以在 Git 中创建、更新和维护配置。有什么想法吗?
非常感谢!
docker - 如何从 Bamboo YAML 中删除隐含的“结帐”任务
我正在使用 Bamboo 构建系统来创建和部署 docker 映像。我有三个阶段对应于:
- 构建 Docker 镜像
- 标记图像
- 部署映像
在构建阶段,我正在提取我Dockerfile
的 .git 以及从 git 构建图像所需的任何其他依赖项。然后我正在构建 docker 映像,该映像存储在我的本地存储库中。
在标记和部署阶段,我正在使用构建阶段中存储的 docker 映像执行明显的任务。
没有必要在最后两个阶段检查源代码——事实上,出于各种原因应该避免。
问题: 有没有办法避免让竹子在最后两个步骤中执行此代码检查?
将checkout
任务排除在我之外bamboo.yml
是无效的,因为竹子隐含地将它添加回来。我能做的最好的似乎是将force-clean-build
标签集添加到false
,如下所示:
jenkins - 詹金斯无法启动
我已将配置用作代码插件版本 1.55.1。但是詹金斯无法从以下错误开始
下面是我的身份验证矩阵