Coder Social home page Coder Social logo

rollno748 / jmeter-local-plugins-manager Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 200 KB

Intranet Plugin Manager Server for JMeter

License: MIT License

Java 77.94% HTML 10.77% JavaScript 6.73% CSS 4.56%
jmeter jmeter-performance jmeter-plugin jmeter-plugins jmeter-scripting performance

jmeter-local-plugins-manager's Introduction

JMeter local plugins manager

Intranet Plugin Manager server for JMeter - Periodically downloads plugins from the internet.

Motive

In situations where specific hosts lack internet access, this tool enables the team to establish a dedicated server for managing plugins within the organization.

Required Components

  1. Java 8 or above

Features

  1. Downloads plugins and their associated dependent libraries to local storage.
  2. Stores all information in an SQLITE DB.
  3. Provides a UI to upload custom plugins restricted to sharing within the organization.
  4. Creates and exposes a modified API to retrieve plugin info for JMeter Plugin Manager.
  5. Easily configurable scheduler to check for newly available plugins/versions in the market.

Available APIs

Service HTTP Method URI
App Running Status GET http://<hostname/IP>:<port>/v1/status
Get Plugins GET http://<hostname/IP>:<port>/v1/plugins
Upload Custom Plugin GET http://<hostname/IP>:<port>/v1/upload
View Plugins in table GET http://<hostname/IP>:<port>/v1/dashboard
Get Public Plugins GET http://<hostname/IP>:<port>/v1/plugins?type=public
Get Custom Plugins GET http://<hostname/IP>:<port>/v1/plugins?type=custom

Creating Properties file

create a properties file with the below contents.

server.port=2222
server.uri.path=/v1

# Scheduler interval (in ms)
scheduler.interval=86400000

# DB Connection Pool configuration
db.min.threads=2
db.max.threads=10
db.timeout.secs=300


# External APIs
jmeter.plugins.url=https://jmeter-plugins.org/repo/
mvn.repo.url=mvn.repo.url=https://repo1.maven.org/maven2/org/apache/jmeter/

# Directory Configs
local.repo.path=/app/plugins-manager/

# Uncomment the below if you are running this on Windows
# local.repo.path=C:\\Temp\\plugins-manager\\

How to Set up

  • Download the Latest release from here
  • Create configuration.properties file
  • Run the JAR (java -jar jmeter-local-plugins-manager-2.0.jar -c configuration.properties)
  • Go to the JMeter installed directory and set jpgc.repo.address (this should be the local plugins manager API) in the jmeter.properties

Uploading Custom plugin

Custom Upload Form

How it works ?

  • Acts as an independent server that polls the plugins manager for updates (configurable).
  • Creates the required directories to store plugins and their dependencies locally.
  • Checks permissions on local directories before storing files.
  • Exposes 3 APIs in the intranet:
    • Public plugins API
    • Custom Plugins API
    • Merged (Public and Custom) Plugins API

Detailed Instructions

  • Detailed instructions is available at Medium

Tools used

  • Spark java framework
  • Sqlite DB

๐Ÿ’ฒ Support Me

If this project help you reduce time to develop, you can give me a cup of coffee :)

paypal

Please rate a star(:star2:) - If you like it.

Please open up a bug(:beetle:) - If you experience abnormalities.

jmeter-local-plugins-manager's People

Contributors

mi185051 avatar rollno748 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.