【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——享元模式

享元模式 定义 享元模式(Flyweight Pattern)是池技术的重要实现方式。 使用共享对象可以有效地支持大量的细粒度对象。 优缺点、应用场景 优点 可以大大减少应用程序创建对象的数量,降低程序内存占用。 缺点 提高了系统的复杂度&…

spring-IOC

IOC容器 简介 IoC(Inversion of Control)控制反转,是一种基于面向对象编程法则的设计思想,它设计出的程序具有松耦合、更优良的特点。 IoC容器是Spring框架中重要的核心组件之一,贯穿了Spring从出生到成长的整个过程,Spring通过I…

零基础学习,轻松打造物业服务小程序

现如今,物业服务已经成为了人们生活中不可或缺的一部分。为了更好地满足人们对物业服务的需求,许多企业和个人开始开发物业服务小程序,以便提供更加便捷和高效的服务。然而,对于大多数人来说,搭建一个小程序可能需要一…

智能ai绘画软件帮你用科技点亮创意火花

李明:嘿,你听说过ai绘画软件吗?我最近对数字艺术产生了浓厚的兴趣 王磊:当然!ai绘画软件真是太神奇了!它可以将抽象的文字描述转换成惊人的艺术作品。 李明:是吗?它们绘制的效果怎…

数据库及数据表的相关操作(一)

目录 概念知识一、管理逻辑库与数据表二、常用数据类型和约束2.1 数字数据类型2.2 字符串数据类型2.3 日期数据类型2.4 字段约束 三、索引运行机制和使用原则3.1 创建索引3.2 添加与删除索引3.3 索引的使用原则 概念知识 关系型数据库: 使用了关系模型的数据库系统&…

深度学习——CNN卷积神经网络

基本概念 概述 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习中常用于处理具有网格结构数据的神经网络模型。它在计算机视觉领域广泛应用于图像分类、目标检测、图像生成等任务。 核心思想 CNN 的核心思想是通过利用局部…

Linux内核源代码的目录结构包括部分:

内核核心代码:这部分代码包括内核的各个子系统和模块,如进程管理、内存管理、文件系统、网络协议栈等。这些代码构成了Linux内核的核心功能。 非核心代码:除了核心代码之外,还包括一些非核心的代码和文件,如库文件、固…

和chatgpt学架构03-引入UI框架(elment-plus)

目录 1 项目目录及文件的具体作用1.1 App.vue1.2 main.js的作用1.3 main.js什么时候被调用1.4 npm run serve干了什么事情1.5 package.json的作用 2 安装UI框架2.1 安装命令2.2 全局引入 3 启动工程总结 我们已经安装好了我们的vue脚手架,用vscode打开工程目录 要自…

【FPGA】基于C5的第一个SoC工程

文章目录 前言SoC的Linux系统搭建 前言 本文是在毕业实习期间学习FPGA的SoC开发板运行全连接神经网络实例手写体的总结。 声明:本文仅作记录和操作指南,涉及到的操作会尽量细致,但是由于文件过大不会分享文件,具体软件可以自行搜…

Leetcode-每日一题【109.有序链表转换二叉搜索树】

题目 给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 示例 1: 输入: head [-10,-3,0,5,9]输出: [0,-3,9,-…

VS报错E1696 无法打开类似于stdio.h等头文件的解决办法

VS报错E1696 无法打开类似于stdio.h等头文件的解决办法 我的VS版本是2022的,然后我今天把同事在VS2017上的code(一个完整的解决方案)从svn上拿过来。结果发现,一大堆E1696的错误。主要表现就是项目中include的一些常用的c语言基础…

算法竞赛字符串常用操作大全

算法竞赛字符串常用操作总结来啦~ 👊 大家好 我是寸铁💪 考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~ 冲刺蓝桥杯省一模板大全来啦 💥 ~ 蓝桥杯4月8号就要开始了 🙏 ~ 还没背熟模…

字幕切分视频

Whisper 仓库地址: https://github.com/openai/whisper 可用模型信息: 测试视频:18段,总共447S视频(11段前:有11段开头有停顿的视频) Tiny: 跑完:142S ,11段前&#xf…

(栈队列堆) 剑指 Offer 09. 用两个栈实现队列 ——【Leetcode每日一题】

❓ 剑指 Offer 09. 用两个栈实现队列 难度:简单 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead …

vscode远程连接提示:过程试图写入的管道不存在(删除C:\Users\<用户名>\.ssh\known_hosts然后重新连接)

文章目录 复现过程原因解决方法总结 复现过程 我是在windows上用vscode远程连接到我的ubuntu虚拟机上,后来我的虚拟机出了点问题,我把它回退了,然后再连接就出现了这个问题 原因 本地的known_hosts文件记录服务器信息与现服务器的信息冲突了…

虚拟机挂载USB设备/USB serial 连接开发板

虚拟机挂载USB设备 1、添加USB设备 2、终端输入:sudo fdisk -l 查看Device设备: 3、创建挂载目录:mkdir /mnt/usb 4、执行挂载命令:sudo mount /dev/sdb1 /mnt/usb ,查看/mnt/usb目录下是否存在U盘中的数据: 5、用…

设计模式——桥梁模式

桥梁模式 定义 桥梁模式(Bridge Pattern)也叫做桥接模式。 将抽象和显示解耦,使得两者可以独立地变化。 优缺点、应用场景 优点 抽象和实现的解耦。 这是桥梁模式的主要特点,它完全是为了解决继承的缺点而提出的设计模式。优…

成为一个年薪30W+的DFT工程师是一种什么体验?

一直以来,DFT都是数字IC设计行业中相对神秘的一个岗位。 你说他重要吧,并不是所有芯片设计公司都有这个岗位,你说他不重要吧,但凡芯片产品达到一定规模后,就必须设置DFT部门。 一、什么是DFT? DFT&#x…

原生信息流广告APP应用内增收及计费模式

比起传统的广告宣传,信息流最大的优势就在于流量的庞大。与此同时,多样化的信息流广告形式和精准的定向,还可以帮助广告主准确获取意向流量。此外,它的广告形式不强迫推送,因此也受到了广泛用户的支持和青睐。 原生信…

音视频开发实战03-FFmpeg命令行工具移植

一,背景 作为一个音视频开发者,在日常工作中经常会使用ffmpeg 命令来做很多事比如转码ffmpeg -y -i test.mov -g 150 -s 1280x720 -codec libx265 -r 25 test_h265.mp4 ,水平翻转视频:ffmpeg -i src.mp4 -vf hflip -acodec copy …