我想使用OpenStack和Jenkins为多个项目部署私有云测试基础架构。我想为OpenStack创建一个模板,使用一个Jenkins安装作为master。对于项目,我想将它们分成节点,即每个项目将获得一个节点。这是一个明智的结构吗?或者我应该为每个项目安装一个Jenkins安装+ vm?
1)您将如何组织私有多项目测试云基础架构?
2)Jenkins默认将配置和作业信息保存到/var/lib/jenkins
,如何管理每个项目的对象存储?
答案 0 :(得分:1)
当你说节点时,我假设你的意思是一台机器运行nova-compute并托管VM实例。如果是这种情况,那么老实说我不会担心尝试将项目绑定到特定节点 - 将整个openstack资源池视为全局集群,在项目中分配,让它们旋转并拆除因为他们需要。
您可能会发现将jenkins预先安装为公开可用图像的图像是有益的,假设您希望云中的每个项目都有一个主jenkins。如果您将jenkins作为每个项目的独立项运行,则使用m1.medium可能就足够了,但您可能会发现要使用m1.large。这一切都取决于你的jenkins实例在每个项目中做了什么。
如果你希望jenkins数据在销毁和重新创建jenkins主实例时持续存在,那么你可以使用一个卷并专门挂载/ var / lib / jenkins - 但是你需要管理jenkins启动和jenkins的协调。适当地附加音量。您可能会发现,如果您需要销毁并重新创建jenkins实例,则更容易为jenkins实例提供更大的基本磁盘,并且只需备份并恢复每个项目的数据。
另一种方法是在openstack云外部共享一个主jenkins,并使用jclouds jenkins插件根据项目需要调整jenkins实例和从属。这并没有在jenkins的项目之间提供任何隔离,根据上述问题,这可能不符合您的喜好。