DevOps

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

1
将Travis-CI与核心PHP项目集成时出现问题[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为DevOps Stack Exchange 的主题。 3年前关闭。 我试图将用核心PHP编码的项目与Travis-CI集成在一起,但始终失败。 即使我的项目中只有一个文件,Travis也会报告失败。 PHP文件代码: <?php phpinfo(); ?> .travis.yml 文件码 language: php php: - '5.4' - '5.5' - '5.6' - '7.0' - '7.1' - hhvm - nightly

1
Elastic Beanstalk是否适合企业级CD?
我正在与一个使用Jenkins来构建微服务并将其部署到Elastic Beanstalk的项目一起工作。我们将集成分支部署到测试环境,将分支发布到暂存环境,然后将最终主版本构建到生产环境。我这样做有两个问题:首先,这意味着我们最终得到一个矩阵,该矩阵是每个项目每个环境一个构建的矩阵,需要重复的工作;第二,这意味着我们不会在生产中部署经过阶段验证的相同构建工件。 我倾向于放弃Beanstalk,而使用诸如Chef之类的东西迁移到普通的ASG。这将使我们每个项目只有一个构建,生成一个构建工件,并且我们可以将相同的工件部署到阶段中批准的生产中。但是,过渡的前期成本并不微不足道。有什么方法可以更好地使用Beanstalk,从而使CI / CD更可靠,更易于管理? 注意:推广相同的构建工件正是我想要做的,但是从文档中我看不到任何明确的方法;它说明了如何从您的应用程序源部署到EB,但没有说明如何将现有版本升级到另一个环境,除非我设法向右滚动。如果它可以在EB本身中使用,则Jenkins EB部署插件中可能会有一个限制,使其无法专门在Jenkins中完成,但是我还没有找到实现它的方法。

2
Ansible动态广告资源-使用下划线而不是点在特定标签下生成IP地址在下面的广告资源
我是Ansible的新手。当我使用ec2.py动态清单来生成清单时,剧本运行完毕后,结果将显示为特定标签下的IP地址列表,并带有下划线而不是点。例如,我想在具有特定标签的实例上运行一个剧本,不知道其他人如何使用IP地址? --- - hosts: tag_test_staging sudo: true tasks: - name: Make sure that we can connect to the machine ping: PLAY RECAP ********************************************************************* 10_80_20_47 : ok=0 changed=0 unreachable=1 failed=0 对于私有地址,ec2.ini: hostname_variable = private_ip_address destination_variable = private_ip_address vpc_destination_variable = private_ip_address 来自ec2.py的结果: "tag_test_staging": [ "10_80_20_47" ], 对于ec2.ini公共地址: hostname_variable = ip_address destination_variable = …
11 ansible 

2
是否可以使用Travis CI和GitHub自动部署特定分支中的每个提交?
我想使用Travis CI部署文件,它仅适用于带标记的提交。提交到分支时,会出现警告: 使用发布提供者跳过部署,因为这不是带标记的提交。 是否可以使用Travis CI在分支提交上进行部署? 为了澄清起见,当我标记提交时它可以工作,但是我想在给定分支的每次提交上部署文件。

2
什么是ansible-runner?
我已经从github存储库以及ansible-runner 的文档站点(来自官方的ansible项目)中读取了README文件,但是我不了解ansible-runner的含义,在什么情况下它有用吗?它是一个带有附加功能的项目,还是被创建为以另一种方式运行ansible?

3
Docker标签版本控制的最佳做法是什么?
我最近将我们的CI服务器挂接到git commit上,以构建docker映像。 我们构建了大约8个不同的容器,每个容器都有自己的语言/框架。一些是节点并具有package.json,其他一些是不包含语义版本信息的python服务。 我的问题不是关于如何创建标签,而是关于创建标签的值。 如何确保每个标签对特定图像都有唯一的语义版本号?谁应该是跟踪/增加构建版本的权威?

1
如何为Java Eclipse项目配置Travis CI构建测试?
我在GitHub上有一个Eclipse Java项目。我想使用Travis CI设置自动构建测试。但是,当我为项目启用构建测试时,编译始终会失败,并显示以下错误。 Buildfile: build.xml does not exist! Build failed The command "ant test" exited with 1. 如何配置Travis CI以运行Java Eclipse项目的构建测试?

2
为什么在docker compose环境文件中损坏了环境变量
上下文:docker-compose启动多个容器,包括调用Flask应用程序的Gunicorn。我正在使用环境文件web/env.gunicorn来存储我的Gunicorn启动配置。该文件包含 GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3" 问题是GUNICORN_CMD_ARGS管道中某处未正确处理。我在运行时遇到的错误docker logs gunicorn是 Error: '8001 --workers=3' is not a valid port number. 问题是,在我的设置中哪里的假设是错误的,从而导致环境变量混乱?在终端中手动运行时,将接受环境变量。Docker撰写文件如下所示 version: "3" services: # nginx: # image: nginx:latest # ports: # - "80:80" # volumes: # - ./nginx:/etc/nginx/conf.d # depends_on: # - web web: build: ./web container_name: gunicorn ports: - "8001:8001" environment: - APP_CONFIG_FILE=../config/development.py …

2
如何避免大型组织的分支机构化?
与大型组织合作时,如何避免出现分支机构化情况? 我们与许多大型金融机构合作,其方法是不对软件进行更新,而仅对高/关键安全补丁和定制功能进行更新。这些组织仅在主要更新之间进行补丁和自定义发行。重大更新可能相隔数年,并且成本高昂。这种方法使我们(软件公司)对每个主要客户都有自己的代码分支,这负担了长期分支的所有成本和效率低下。 我对社区的问题是: 您是否经历过客户的类似更新接受方法? 您有什么建议可以帮助您使用此方法? 您需要什么建议来帮助改变组织进行软件更新的方法?

7
我从哪里开始学习DevOps?
搜索“如何从devops开始”并没有真正的帮助,因为他们中的许多人都喜欢这样,这以及其他许多人并没有以正确的方式指出我。到目前为止,我看到的每个youtube视频都没有帮助(因为我不需要向我解释什么是dev的视频),这是迄今为止唯一真正的例外(表明事物之间如何相互融合)。 我是一名CCNA,并且对DBMS(目前正在学习并行执行以及其他知识)也非常精通。 但是我不知道我应该首先学习什么(或者在哪里可以找到正确的资源)。 我即将毕业,因此无法获得现实世界的经验。 有什么建议或帮助吗?
10 learning 

3
如何在不配置虚拟机的情况下测试虚拟机配置脚本
目前,我处于一种状态,即测试要花我很多时间和金钱... 背景:我正在软层上部署VM,并使用部署后脚本(bash),该脚本将在VM准备好后安装所需的每个软件。问题是,我只能通过部署一个VM来测试此脚本,并且目前大约需要4小时才能完成脚本...因此,我进行的每一次更改都需要创建一个新的VM(需要花钱)并等待大约4小时后看脚本是否损坏...这变得混乱了,如果我保持这种方式,我将无法前进。 我需要一种新的方式来处理这种情况,并且能够更快地测试配置脚本,而不必每次都部署新的VM。 你们知道在这种情况下有什么工具可以帮助我吗?

2
什么是Titus,它可以解决什么问题?
我读了Medium中一篇名为“ Netflix容器使用的演变”的文章,并观看了有关该主题的几个视频,但是我不清楚为什么应该使用Titus(在这些参考中)。它与Kubernetes不同吗?还是应该与Kubernetes一起使用?

2
Dev for Ops中的速成课程?
我在CompSci上学,最初主要学习Java,但是我从中学到的是,我对系统充满热情,所以我一直在ops方面工作。我对脚本很方便,所以我不是在寻找一个可以教我Ruby的网站,而是可以更深入地解释您的开发人员整日所做的事情。我想更好地了解文化,以及如何消化项目中无数的无数文件。 如果今天我了解到周一我将被调往开发团队,那么这个周末我想读些什么?

3
如何确保新的微服务之间的一致性?
我的组织正在经历微服务的爆炸式增长。我们目前还没有正式的方式来引导新项目。我发现有一个团队会在部署或构建过程中遇到错误,因此我会花一些时间,只是意识到自己已经在另一个项目中解决了这个问题。我希望标准化的项目之间也存在很多不一致之处。 更改通常涉及单个文件(例如serverless.yml或Makefile),因此涉及共享库(例如git子模块)的解决方案似乎不可行。每个项目都有自己需要维护的一组配置,例如Dockerfiles或serverless.yml,因此虚拟机的集中式配置管理解决方案并不是真正适用。 我该如何确保新的微服务符合组织标准,并以想要启动新项目的开发人员容易且直观的方式包含现有项目的错误修正/功能?解决这些问题的最佳做法是什么? 我们当前的工作流程是问您旁边的人“我应该克隆哪个项目用作模板?” 然后删除该项目不需要的所有内容。

2
Sys如何。具备开发DevOps工程师的管理技能?
我正在寻找有关如何成为一名专业DevOps工程师的建议。 我一直想从事与开发相关的项目,因为我喜欢编码,但不幸的是我从未有过机会。我以前曾使用.Net和PHP从事自由项目,并且已通过Java SE认证,但从未使用过。 我的工作经验包括系统和应用程序管理。通常,我现在是该领域的大四学生,因此不建议改用开发,因为我必须从大三开始。但是我认为DevOps对我来说是完美的选择,但我需要知道要成为一名优秀的DevOps工程师(最好是有关编写自动化和工具的部分),需要学习哪些知识才能填补我的空白。 请推荐我应该学习什么,例如,我听说Python和Perl和Ruby对于DevOps非常有用,但是我还应该从其他什么开始?我首先需要掌握哪些必备技能? 我目前的技能: Sys。管理员 Unix(HP-UX,Solaris)和Linux(Ubuntu,Red hat,CentOS)管理 中间件技术管理(WebLogic,Apache-Tomcat,WebSphere,MQ) Bash / Shell脚本 Web服务器配置和管理 对通用数据库系统(SQL Server,Oracle,MySQL等)有丰富的知识 Web服务和集成SOAP / REST / API Oracle商业智能套件(OBIEE,DAC,Informatica) ITSM补救措施开发和管理。 SAP业务对象(分析)。 Splunk 服务中心–支持ITIL的IT服务管理 对Web应用程序技术有深刻的了解。 开发者 Microsoft Visual Basic中的专家开发技能。 Java SE中的优秀开发技能。 Microsoft .Net开发 MS SharePoint开发。 MS Office专家,具有所有MS Office应用程序的宏和自动化方面的专业知识。 中级PHP开发(CakePHP)
10 sysadmin 

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.