DevOps

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

2
单独的SQL Server还是仅单独的SQL数据库进行测试和生产?
我是SQL Server的新手,所以这可能更多是SQL Server管理问题。 我正在为服务创建测试和生产数据库,并且我想我会擦拭很多测试数据库。另外,我要使用其他复制和审核日志记录策略。 将两个SQL数据库都放在同一个SQL Server上是否有意义(这似乎是Azure门户最易于管理的),还是为测试数据库和生产数据库创建单独的逻辑SQL Server更有意义?
12 sql  azure 




3
在Azure上,如何按计划运行短暂的Docker容器?
我有一个相当简单的Unix shell脚本,打包在Azure容器注册表中托管的Alpine Linux Docker容器中。VM使用cron运行以下脚本: docker login <snip> docker pull example.com/bar:latest docker run example.com/bar:latest 我是否可以不用VM而是使用Azure服务,也许可以使用某种调度程序在Azure容器实例上运行它? 我的动机是不想维护虚拟机并为此付费。

4
无法从容器内连接到Chocolatey.org或任何其他互联网站点
来自https://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745的 xpost 预期行为 我正在运行Windows Server 2016数据中心(MSDN下载)64位-版本1607-内部版本14393.1715 我正在使用Docker For Windows并正在运行Windows容器。 我认为这是世界上最简单的事情: reboot my host machine docker run -it microsoft/windowsservercore powershell iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')); 期望将其安装在容器中。 实际上,我将在dockerfile中执行此操作,但是我将以最小的工作示例为例,以立即获取帮助。 这是一个实际的失败的docker文件(可悲的是,它并不是那么有创意) FROM microsoft/windowsservercore SHELL ["Powershell"] ENV ChocolateyUseWindowsCompression false; RUN iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')); 实际行为 首先,我要在Virtualbox VM中运行它。我要工作的所有其他内容都可以正常工作,包括但不限于:内部网络连接和测试,运行的sql服务器,在我的docker-compose环境中运行的WCF服务,数据正确返回。我希望系统执行的所有操作均正常。这是最后一步,但愿:D。我在VirtualBox中运行它的事实无关紧要,因为Hyper-V可以正常工作,并且我所有的机器都可以正常工作。我只是觉得值得一提。 docker run -it microsoft/windowsservercore powershell PS C:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) Exception …
12 docker  windows 

2
如何在CircleCI上运行实验性Docker功能
在CircleCI上开始构建时,要做的第一件事是: 设置远程Docker引擎 Specified reusable docker engine, but build has not been whitelisted. Contact CircleCI to be whitelisted Allocating a remote Docker Engine ... Remote Docker engine created. Using VM 'prealloc-wrjtu1qd-1491949826270' Created container accessible with: DOCKER_TLS_VERIFY=1 DOCKER_HOST=tcp://<IP>:2376 DOCKER_CERT_PATH=/tmp/docker-certs615987123 DOCKER_MACHINE_NAME=51123 随后,docker build --squash -t imagename .在CircleCI上运行时,结果为: Error response from daemon: squash is …

2
什么是Ansible的--vault-password-file配置?
根据ansible-playbook的帮助,可以--user=REMOTE_USER用来定义ssh用户,但是也可以ansible_ssh_user: REMOTE_USER在host-var或group_vars中进行定义。 题 需要在group-或host_vars目录中定义什么变量,以防止--vault-password-file在运行时定义该变量ansible-playbook? 尝试次数 如果ansible_vault_password_file: ~/.vault_pass.txt在配置中定义了,解密将失败: ERROR! Decryption failed on /path/to/vault 在本文档中未找到关联的保管库变量
12 ansible 

2
仅在作业输出为非空时如何发送通知
我们正在使用rundeck扫描服务的日志文件,并根据在其中找到的内容采取措施。基本上,对于找到的每个项目(不存在记录),都会初始化git存储库并调用一些其他终结点,但这并不是重点。 我们正在将作业设置为按计划运行,例如每隔几个小时运行一次,并发送有关失败的通知,此外,仅当已采取至少一项操作(例如,输入任务中的shell脚本)时,才发送有关成功的通知。循环至少一次)。编写脚本是为了使它仅在找到要操作的项目时才在stdout上输出输出。 在rundeck中是否有一种方法可以触发此要求的通知?还是一种无需编写脚本即可编写脚本的方法? 一种可能的解决方法是关闭故障通知触发器,并在没有任何操作的情况下使脚本返回非零值,但我对此不太满意。

1
是否可以直接从CloudWatch警报触发AWS Lambda函数?
当前,为了触发lambda函数以响应CloudWatch警报,我需要通过SNS路由警报,如下所示: AWS CloudWatch Alarm --> Send to a topic in SNS --> SNS topic triggers the lambda function 那么,有没有办法我可以直接做到这一点,而无需中间使用SNS? [原因:更少的接触点和一些成本优化]。 CloudWatch事件触发lambda,但我无法通过它触发警报。CloudWatch事件中针对SQS的唯一可用选项是:

2
如何在不丧失进行验尸的能力的情况下实现不可变的服务器模式?
不变的服务器模式是一种部署准则,有利于部署的可重复性。它的特点是“ 一旦部署服务器,就不会被修改,仅被新的更新实例替换 ”,而实施这一准则要求服务器部署自动化。这种自动化具有许多操作优势,其中最重要的一项就是允许快速可靠地替换基础架构中发生故障的实例。这种自动化还意味着服务器部署由版本控制的软件工件来描述,并且需要进行迭代式改进。 该学科实施的一个流行方面是,一旦启动服务器,就删除对服务器的远程访问方法(尤其是删除SSH访问)。删除远程访问是一种确保服务器配置与部署自动化准备的配置相匹配的简便方法。 但是,在调查验尸中软件故障的原因时,仅依靠结构化监视并不总是足够的,因此可能需要远程访问计算机。常见的实际情况是服务器监视未涵盖所有故障源,或者服务器故障本身可能会损害监视,如果服务器内存不足或达到其进程限制,则很可能会发生这种情况。 如何在不丧失进行验尸的能力的情况下实现不可变的服务器模式?

3
如何保护Ansible部署以减轻事故?
最近,Amazon S3 在us-east-1地区发生了重大故障。在Ansible或类似工具中运行维护手册时,可能是由于拼写错误引起的。您可以将shell脚本包装器包裹在ansible-playbook周围,如下所示: #!/bin/bash /usr/bin/ansible-playbook "$@" --list-hosts --list-tasks read -p "Are you sure? (y/n) " answer test "$answer" = "y" || exit 0 exec /usr/bin/ansible-playbook "$@" 但是,您还可以使用其他一些方法来提高安全性并减少出错的可能性,这会给您的公司造成严重的故障。
12 ansible  process 

2
如何在Hyper-V系统上使用Vagrant和Windows的Docker?
过去,我使用VirtualBox(VB)和Vagrant(V)运行VM。由于我安装了docker-for-windows(DfW)并运行了V,因此VB抱怨Hyper-V(HV)。 [user@localhost ~]$ vagrant up Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole 尽管此链接表明V支持HV,但以上错误消息是矛盾的。VB为什么看起来与HV不兼容,为什么V表示它支持HV,以及如何防止需要禁用HV才能再次使用V。 | Product | Version | |:-----------|--------:| | Vagrant | 2.0.1 | | VirtualBox | 5.2.4 | | Windows | 10 | 讨论区 建议不要打开和关闭Hyper-V,因为它很耗时。 如果可以通过替换VB在同一系统上运行V和DfW,则可以选择。

2
如何在serverless.com项目的代码中存储加密的机密?
使用serverless.com,向AWS Lambda函数公开机密的最简单方法是将其存储在serverless.yml文件中(例如,用KMS加密)。 但是,将加密的机密提交给Git并不是世界上最好的事情。一方面,需要更改机密时需要更改代码。 但是仅就安全性而言,还有什么更好的选择?例如,机密可以存储在S3中(加密),并且Lambda可以访问该位置和KMS密钥,但是实际上这在任何有意义的方式上都更好吗?

1
如何限制Atlassian Bamboo版本中的文件系统访问?
我们在Ubuntu上运行了Atlassian Bamboo。当开发人员设置构建时,他或她就有可能运行Shell脚本任务。在正在构建的代码库上运行(自定义)命令很有用。 但是,运行的脚本也可以访问Bamboo工作目录(<Bamboo-home-dir>/xml-data/build-dir/JOB_KEY)中其作业目录之外的文件系统。因此,JOB_A也可以访问JOB_B:的文件cd ../JOB_B。 有可能限制这种访问吗? PS我知道一个事实,即构建是由Bamboo中的(本地或远程)代理运行的,您可以由不同的代理构建不同的项目。但是,如果两个项目是由同一代理构建的,则这些项目可以访问彼此的文件。

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.