使用Jenkins生成和设置测试环境(AmazonEC2)的最佳方法是什么

jmo0nnb3  于 2023-03-17  发布在  Jenkins
关注(0)|答案(4)|浏览(199)

我正在尝试自动化测试环境创建过程。我使用Jenkins作为CI服务器,希望能够生成新的VM示例(基于预定义的模板)。我知道如果你想使用VM作为jenkins构建从机,有一个插件。但是我想使用VM作为即将使用的测试环境,在那里部署构建工件。所以问题是什么是最好的方法?我目前正在考虑使用Chef来配置新的VM示例,但是如何生成VM本身是一个谜。感谢任何帮助。

mnemlml8

mnemlml81#

听起来您需要类似Test-Kitchen的东西。您可以使用Chef和kitchen-ec2启动计算机,运行配方代码,然后在其上运行一些测试(通常是serverpec或bats,但有许多测试驱动程序)。您可以从Jenkins主机本身运行test-kitchen,因此Jenkins不需要担心创建新示例。

izkcnapc

izkcnapc2#

Ansible对Amazon EC2示例创建等有很好的支持。更多细节请参考this link。一旦创建了EC2示例,您还可以使用Ansible完全自动化应用程序部署。

vzgqcmou

vzgqcmou3#

看看Ansible如何自动化你的部署。我们所做的是让Ansible提供新的虚拟机,然后使用chef/puppet来配置管理实际的环境代码库。它工作得非常好!
下面是行动手册体系结构示例:

---
- hosts: localhost
  connection: local
  gather_facts: True
  roles:
     - load_balancer
     - cloud_servers

- hosts: infra
  gather_facts: True 
  roles: 
     - deploy

- hosts: localhost
  connection: local
  gather_facts: True
  roles:
     - test
     - clean_up
bogh5gae

bogh5gae4#

您可以通过Jenkins. https://wiki.jenkins-ci.org/display/JENKINS/Vagrant-plugin上的Vagrant插件使用Vagrant生成虚拟机
Vagrant是一种虚拟化 Package 器(用于wmare、virtualbox、lxc),它允许您设置VM的配置并在几个选项之间进行选择:

  • 供应商:安斯波大厨。
  • 主机和访客之间的同步文件夹
  • 网络选项...

https://docs.vagrantup.com/v2/

相关问题