【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

相关推荐
特长腿特长5 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5385 小时前
Linux环境变量
linux·运维·服务器
赛博云推-Twitter热门霸屏工具6 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18806 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台7 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造
w6100104667 小时前
cka-2026-cri-dockerd
运维·k8s·cka
卤炖阑尾炎8 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
handsomestWei8 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
Tingjct8 小时前
Linux常用指令
linux·运维·服务器
daad7779 小时前
wifi_note
运维·服务器·数据库