DevOps

针对从事自动化测试,持续交付,服务集成和监控以及构建SDLC基础架构的软件工程师的问答


1
负载均衡Nexus工件存储库
Sonatype当前不支持Nexus负载平衡,除非将Nexus实例置于启用智能代理或通过更新功能的两个实例之前。 尽管如此,我还是通过与GlusterFS共享文件系统进行了/storage尝试,并尝试在Apache Load Balancer配置和UI的Nexus配置中启用粘性。 使用UI时,我会惨败,因为Nexus容器似乎不支持设置Cookie值的属性。目前使用以下配置: 对于存储来说,似乎可以工作,通过限制为GET和HEAD仅请求,仍然必须尝试打开POSTs。我也不确定预定作业的可能的附带影响,因此所有这些都在“辅助”节点中被禁用。 有人为负载平衡关系实现了某种程度的可信任配置吗?UI实际上对于平衡负载并不重要,我会对存储感到满意。

2
我应该如何存储环境变量?
这是一个有关环境变量/结构的方法和建议的非常广泛的问题。但是最终,我正在寻找非常具体的问题“我应该如何存储环境变量?”的答案。 首先进行一些澄清: 对我来说,环境可以是3到10台服务器,并且是包含特定客户基础结构的一种方式。 在每个环境中,都有一些变量,这些变量通常是由一些关键输入(名称,大小等)自动生成的。 就目前而言,我们将所有环境变量存储在这样的结构中: <playbook>.yml # Various playbooks for deployment roles/windows # Ansible role for Ubuntu roles/ubuntu # Ansible role for Ubuntu config/hosts/<name>.yml # Ansible inventory config/hosts/vars/<name>.json # Environment specific variables 现在,配置已被初始化为上述git存储库中的子模块。由于变量文件的更改非常频繁,这导致了数据更改的问题,两次提交之间发生了一次,两次甚至三遍,使得更改越来越难以跟踪。 正如我个人看到的那样,我们应该寻求以集中/可扩展的方式存储我们所有的客户变量,然后将其与ansible的动态库存挂钩。 我了解有几种技术似乎可以满足要求,例如Consul,但它们似乎在服务于一个大型应用程序而不是许多较小的略有不同的应用程序的环境中效果最佳。 我基本上看到我们必须编写清单脚本,然后将所有数据推送到一个非专用的内置数据库中,然后继续进行,就好像什么都没有改变一样。我认为这可能是一种减少当前存储的大量数据的方法,也许是研究存储数据的不同方法,而不仅仅是扩展再次提供服务的方法。 我希望有人在必须处理许多较小的环境而不是一个,两个或三个大环境时,具有将基础结构实现为代码的某种经验。 有什么建议么?

1
如何将job-dsl文件升级到Jenkins 2管道?
是否有将Jenkins job-dsl的大型存储库迁移到Jenkins2管道的常规做法?我正在寻找测试构建行为的方法,这比从相同代码库生成的工件进行比较要走得更远。 实际上,我们拥有通过Ansible部署的相当大的基础架构,并且我们获得了一个在拓扑上等效于生产环境的验证环境,因此这不是问题。我对我们可以自动化的验证实践更感兴趣,因为我们从300多个项目存储库中构建了更多信息,因此在Jenkins的几位大师中分布了数千个工作。

1
如何使用Terraform在DigitalOcean团队中创建主机?
Digital Ocean上的团队是最新的,并且没有有关将它们与Terraform一起使用的文档。 我能找到的所有信息就是如何手动使用它们。 我希望我能说些类似的话: resource "digitalocean_droplet" "host" { image = "${var.image}" name = "${var.host_name}" region = "${var.region}" size = "${var.size}" private_networking = "${var.private_networking}" ssh_keys = ["${var.ssh_fingerprint}"] team = "${var.team}" } 请注意team = "${var.team}"最后。 由于Terraform只是提供程序API顶部的包装,因此我查看了文档,试图找到有关此字段的某些端点,但一无所获。 如何将Digital Ocean团队与Terraform一起使用?或者,main如果我想使用Terraform自动化操作,我会被该帐户卡住吗?
11 terraform 

1
Kubernetes的咒语是什么?
题 什么是魔法变出-up的Kubernetes的? 背景 在Ubuntu上跟随Kubernetes并运行变构的kubernetes,其中显示了快照,询问选择哪种拼写。但是不确定这是在问什么。 符咒选择的:造式文档讲述法术和选择,但尚不清楚他们是什么还在,因此寻找一些说明和建议哪一个选择(核心或规范)和它们是什么。



2
通过CALMS范式优化DevOps招聘流程的方法?
在DevOps招聘过程中,碰巧遵循了关键字匹配的原则,在我看来,这导致只关注技术。 现在,DevOps不仅仅是技术,而且DevOps工程师不仅仅是具有某些编码技能的更好的系统管理员。 对我而言,高级DevOps角色/资料还意味着除了基础设施和软件工程技能(例如精益,测量和开放和交流)外,还提供其他许多基础和实践方面的资历(诚​​实地说,谁要求DevOps雇用他们的交流技能?!) 那么,求职广告/面试能否以某种方式更有效-例如,通过应用对CALMS类别的质疑?-引发诸如“现在,您如何应用精益原则?在最近的DevOps项目中如何解决文化方面的问题”之类的问题? 进一步阐述: Ç ulture(例如,用于冲突管理和态度,失败,自己和他人的策略) 一个 utomation(在这里你问木偶/码头工人等技能) 大号 EAN(精益基础?废物类型?) 中号 easurement(要求像JMeter的工具,而且还去之类的采样,数据建模..) 小号哈林(显然知识管理,并根据工具) 更新-为什么雇主/招聘者不按如下所示通过CALMS构建面试(此外,“自动化”部分可以沿DevOps 工具链模型(文档链接,只读)进行表述? 旁注- 例如,文化实际上不再只是一种软技能,对于DevOps来说,它是一项核心技能-就像该领域的所有其他技能一样。
11 culture 

2
建立DevOps本体模型的已知工作是什么?
如今,对于许多领域,存在一种语义本体,用于使域数据可机读。DevOps和相关领域中有很多术语,通常由供应商建立,但适用于其他工具,例如Jenkins中的声明性管道。 当前如何建立DevOps域的本体? 参考资料/进一步阅读: 本体开发101:创建第一个本体的指南 本体论(信息科学) 本体库 媒体资源本体1.0

1
断言和约束
我正在构建用于构建配置文件的模板,并且消耗该文件的服务对标识符长度施加了约束。 如果标识符的长度超过例如6个字符,则该服务将在应用配置时中途通过,失败,并使节点处于不一致状态。 如何执行断言以触发部署事务失败,以防止目标节点的服务配置错误? 我的特殊情况是Salt,但是我很想知道其他系统也可以解决该问题。

1
自动化有关数据库设置的Drupal(或其他软件)安装的最佳实践
假设我有Drupal和CiviCRM安装程序可以自动化。 但是,这些文件需要特定的配置才能一起使用(某些文件编辑和数据库配置) 我是否应该进行固定版本安装(例如Drupal 4.7.5 + CiviCRM 4.5.6),安装并配置,然后保存编辑后的文件以及数据库? 还是应该在构建脚本中投入更多的精力,并进行一些查询和修改以编辑数据库和文件中的那些配置?

1
有没有一种方法可以禁用单个工作的Jenkins插件?
我使用“ 构建超时”插件来提醒作业卡住的时间。我有一个作业会触发此警报,因为它包含执行时间较长的步骤。我想禁用构建超时插件,但仅针对该工作,有没有办法做到这一点?我正在使用Jenkins v2.22。 我们不使用内置选项来使作业不会在超时时终止,而是使用sensu插件来监视possibleStuck变量的状态。

1
如何仅在完成时包括自定义Slack消息?
我们正在使用Slack Notification Plugin运行Jenkins 。有没有一种方法只能在完成时发送自定义消息,而不能在启动时发送自定义消息?需要明确的是,我不希望禁用的构建开始的消息,我只是想自定义文本,只显示在完成(成功)。 用例是删除堆栈之类的作业。我们使用自定义消息来明确说明删除作业的堆栈,但最终会出现松弛消息,例如(释义) Delete job started Deleted Alex stack Delete job finished Deleted Alex stack 显然,您可以看到引起混乱的地方。我宁愿得到 Delete job started Delete job finished Deleted Alex stack 如果是这样,“不能完成”是一个可以接受的答案。我知道我可以解决管道问题,但我希望快速解决尚未转换的工作。
11 jenkins  slack 

1
如何自动从RabbitMQ集群中删除死节点
我计划在AWS VPC上使用Ansible并使用Amazon内部负载均衡器作为指向其连接的前端来创建RabbitMQ集群。 有什么建议如何基于自动伸缩规则从RabbitMQ集群中删除死节点,在该规则中节点可以上下移动,或者如果您使用竞价型实例? 当节点发生故障时,RabbitMQ不会自动将其从复制列表中删除,我可以Node not running在管理UI中看到。 我设法通过Ansible和userdata自动将扩展实例加入集群。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.