- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对采用 Bamboo 的配置即代码模型非常感兴趣,但我目前正在努力寻找最佳实践/文档/教程来实现以下场景:
我有 50 多个(Java)项目,每个项目都位于 Bitbucket 上的一个单独存储库中。因此,50 多个存储库。我想为他们所有人都有一个共同的共享管道。
如何实现这一目标?
我设法创建了一个特定于项目的管道(保存在 Bamboo 规范文件夹中),但我无法承受 50 多个不同的管道定义,因为此管道中定义的任务可能会随着时间的推移而改变......
理想情况下,我想要的是一个仅包含管道定义的项目独立存储库......并以某种方式指示 Bamboo 每次在上述 50 多个存储库的任何分支上进行新推送时触发定义的阶段/作业/任务.
这在某种程度上可行吗(在管道项目中没有硬编码 repo 引用)?
我的公司 CI 在 Bamboo 6.8.1 上运行。
谢谢!
最佳答案
目前我们公司也有同样的问题。我们联系了 Atlassian,它推荐我们有 一个 Java 项目 并从那里管理我们所有的项目。
这样,每次我们需要更新我们的管道时,我们只需要运行一次 Java 项目。
目前我们有一个 JSON 配置文件:
{
"project": [
{
"key": "PROJECTKEY",
"name": "Project name",
"description": "testing",
"plans": [
{
"key": "PUNO",
"name": "plan 1",
"description": "plan description",
"repositoryName": "repository link / linked repository name",
"branches": [ "master", "develop"],
"templateBuild": "TemplateName",
"templateDeploy": "TemplateName",
"variables": [
{
"key": "",
"value": ""
}
]
}
]
}
]
}
ConfigurationFile file = new ConfigurationFile("configurationFile.json");
Project[] proyectos = file.getProjects();
if (proyectos != null && proyectos.length >= 1) {
List<com.atlassian.bamboo.specs.api.builders.plan.Plan> bambooPlans = new ArrayList<>();
for (Project p : proyectos) {
for (Plan plan : p.getPlans()) {
Class<?> buildClass = Class.forName("com.my.company.templates.build." + plan.getTemplateBuild());
TemplateBaseBuild template = (TemplateBaseBuild) buildClass.getDeclaredConstructor(TemplateBaseBuild.getConstructorClassArgs()).newInstance(p.getKey(), p.getName(), p.getDescription(), plan.getKey(), plan.getName(), plan.getDescription(), "", plan.getRepositoryName(), Utils.VariablesToBambooVariable(plan.getVariables()));
for (com.atlassian.bamboo.specs.api.builders.plan.Plan currentPlan : template.getPlans()) {
bambooPlans.add(currentPlan);
}
//TODO: deploy
}
}
bambooPlans.forEach(bambooServer::publish);
}
关于continuous-integration - Bamboo Java 规范、单个管道存储库和多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266007/
我有一个 bamboo 计划设置,但我想每天晚上 9 点运行我的工作,但只有当 git 中有任何变化时,构建才必须运行。我怎样才能用 Bamboo 做这种组合?我只能在触发部分看到更少的选项,例如存储
我有一个 bamboo 计划设置,但我想每天晚上 9 点运行我的工作,但只有当 git 中有任何变化时,构建才必须运行。我怎样才能用 Bamboo 做这种组合?我只能在触发部分看到更少的选项,例如存储
我正在使用 bamboo 来自动化应该每晚运行的性能测试。我实现了两个测试:第一个是运行大查询,第二个是检查性能结果。 应执行第一个测试(运行查询),并在两小时后运行第二个测试(检查性能结果)。显然,
我创建了一个应该生成工件的 Bamboo 构建计划。它确实 - 我在服务器上看到了生成的文件。不幸的是,Bamboo 不会将文件复制到所需位置 -> 它不会将它们视为我可以从 Bamboo 服务器下载
有没有办法从一个 Bamboo 实例导出计划,将它们移动到另一个 Bamboo 实例?我研究了一下,虽然已经提出了 JIRA,但看起来他们还没有计划。我只是想确认情况确实如此,目前您无法从一个 Bam
我已经设置Bamboo来在远程代理上运行JBehave测试(使用Webdriver通过JBehave-web插件启动测试),并且一切运行正常。唯一的问题是执行完成后,Bamboo显示未执行任何测试。我
是否可以使用可选的“工件下载”任务配置部署项目? 该工件来自另一个计划,该计划有 2 个阶段,可生产 2 个工件。如果只执行 1 个阶段,它将有 1 个共享工件。我希望我的部署项目即使只有 1 个工件
如何在 Bamboo 部署计划的脚本中获取分支名称?文档中列出的变量表明我们可以使用 bamboo.repository.branch.name ,但这在部署计划中似乎不起作用。 最佳答案 它对我有用
我有一个 Bamboo 计划,有两个分支,br1 和 br2。 目前,每次在主分支、分支 b1 和 br2 上提交时, Bamboo 都会自动启动。 我不希望在分支 br1 和 br2 上有提交时 B
目前我们设置产品的方式是在 Bamboo 中有一个完整的项目只处理“运输”。该项目从 git 中检查所有内容并运行单元测试,然后将其复制到预 QA 服务器。 我们现在需要在预 QA 服务器上进行一些
我们有一个生成可执行工件的计划。有没有办法告诉 Bamboo 将这些工件作为构建通知中的附件通过电子邮件发送?为了记录,我们正在使用 atlassian on demand。 最佳答案 您可以使用 s
我有一个简单的计划和一份简单的工作。 任务: 源码 checkout MSBuild 运行测试 生成测试报告 通过四个步骤,我的实用程序会生成带有屏幕截图的测试报告。该报告包含图像的绝对链接。 (例如
我有一个 Bamboo 构建,包括两个阶段:“构建与测试”和“发布”。 Bamboo的工作方式,如果Build&Test失败,则不会运行发布。这通常是我想要东西的方式。 但是,有时Build&Test
我想设置一个必须手动运行的 Bamboo 作业,并且必须设置一些变量。有没有办法做到这一点?事实上,这个人必须记住使用 Run Customized 并设置变量。 最佳答案 您可以使用脚本来验证赋予变
有没有办法在 Bamboo 中显示所有测试名称,而不是仅显示失败/已修复测试的名称。当我浏览到构建结果页面的测试部分时,仅显示测试总数,例如“总共 30 次测试”。我实际上想看到的是执行的所有测试的列
定义 Bamboo plan 变量时,页面有这个。 For task configuration fields, use the syntax ${bamboo.myvariablename}. Fo
我正在尝试在任务插件中使用 Bamboo 构建变量(例如,bamboo.jira.version 等)。使用taskContext.getBuildContext().getVariableConte
我正在尝试将 Atlassian Bamboo 与在 AWS 中创建和部署环境的 CloudFormation 模板集成。我们添加到 VPC 和 EC2 实例的标签之一是触发构建的工程师的姓名。 我找
我知道可以在 Bamboo 代理页面上手动禁用或删除代理。我正在编写一个 Bamboo 插件,它应该在构建完成后删除 Bamboo 代理。使用 Bamboo REST API 或 SDK 库似乎没有直
我想知道一旦部署计划成功执行,是否有任何方法可以触发 Bamboo 构建计划? 我们有一个单独的构建计划,将用于触发 Sanity,因此要求一旦部署完成,就应该触发 Sanity 计划。搜索但没有找到
我是一名优秀的程序员,十分优秀!