【DevOps】Atlassian插件开发指南

本文以Bamboo插件开发为例,记录一下插件开发过程。

一、简介

Atlassian Bamboo 6.9.1 是一款持续集成和持续交付(CI/CD)工具,支持使用插件扩展其功能。如果需要开发自己的 Bamboo 插件并添加到 Bamboo 中,则可以参考以下指南。

二、开发过程

1. 开发环境配置

要开发 Bamboo 插件,需要安装 Java 开发工具包(JDK)和 Atlassian Plugin SDK。Atlassian Plugin SDK 包含了 Atlassian 插件开发所需的一切工具和库。

下载地址:Atlassian-Plugin-SDK-installer

2.创建插件项目

使用 Atlassian Plugin SDK 中的 "atlas-create-bamboo-plugin" 命令创建一个新的 Bamboo 插件项目。该命令将生成一个基本的插件项目结构,包括 pom.xml 文件和插件的基本目录结构。

根据提示,输入插件的组ID工件ID版本包名称

其中,Use OSGI Java Config:(Y/N/y/n)N: : 直接回车即可,默认为N;

回车后,控制台会输出插件的坐标信息,会出现Y: : 选项,直接回车即可。

3.编写插件代码

在创建好的插件项目中,可以根据插件的需求编写相应的代码。Bamboo 插件可以包含以下类型的模块:

  • Web 模块:允许您添加自定义 Web 页面和 REST API 到 Bamboo 中。
  • Build 模块:允许您添加自定义构建任务和构建器到 Bamboo 中。
  • Deploy 模块:允许您添加自定义部署任务和部署器到 Bamboo 中。
  • Task 模块:允许您添加自定义任务到 Bamboo 中。
  • Administration 模块:允许您添加自定义系统配置页面到 Bamboo 中。

4.添加插件元数据

根据插件类型,调整修改atlassian-plugin.xml文件,该文件是插件元数据描述文件。

5.打包和安装插件

完成插件代码编写后,可以使用 Atlassian Plugin SDK 中的 "atlas-package" 命令打包插件。打包后的插件文件位于 "target" 目录中。

6.安装插件

要安装插件,请将插件文件上传到 Bamboo 插件管理页面中。在上传插件后,Bamboo 将自动检测和加载插件。

7.调试插件

要调试插件,可以使用 Atlassian Plugin SDK 中的 "atlas-debug" 命令启动 Bamboo,以便在本地环境中进行调试。
注意事项:

  • 可以插件开发调试可能会影响Bamboo的稳定性和性能,建议在测试环境中进行调试,充分验证后再进行插件安装。
  • Bamboo默认的调试端口为5005

三、参考资料

Bamboo插件开发指南官方文档地址: https://developer.atlassian.com/server/bamboo/bamboo-plugin-guide
Bamboo开发者社区地址: https://community.atlassian.com/t5/Bamboo-discussions/bd-p/bamboo-discussions
HipChat4Bamboo Demo: https://github.com/go2group/hipchat-bamboo

相关推荐
木子Linux8 分钟前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.82414 分钟前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
watermelonoops23 分钟前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
阿甘知识库1 小时前
宝塔面板跨服务器数据同步教程:双机备份零停机
android·运维·服务器·备份·同步·宝塔面板·建站
saynaihe1 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka
zhou周大哥3 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
the丶only4 小时前
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
linux·运维·服务器·docker·gitlab
ccubee4 小时前
docker 安装 ftp
运维·docker·容器
枫叶红花4 小时前
【Linux系统编程】:信号(2)——信号的产生
linux·运维·服务器
yaosheng_VALVE5 小时前
探究全金属硬密封蝶阀的奥秘-耀圣控制
运维·eclipse·自动化·pyqt·1024程序员节