GithubHelp home page GithubHelp logo

cerus / deploy-helper Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 3.0 118 KB

deploy-helper is a small tool for artifact deployment targetted at software developers.

License: GNU General Public License v3.0

Java 100.00%
tool java ssh deployment devops developer-tools deployer deploy-tool devtools productivity

deploy-helper's Introduction

YouTube Mastodon OS Shell OS IDE Java Game Browser

Max's Holopin board

Hello there!

My name is Maximilian and I'm a software developer from Germany. I mainly work with Java in combination with Minecraft.

I currently work as a freelancer.


My projects

Minecraft related

  • minecraft-place: r/place in Minecraft with live updates (YouTube)
  • maps: A Spigot library for drawing stuff on Minecraft maps
  • mchr: A Minecraft skin rendering service
  • flatcraft: A Spigot plugin that allows you to play a Minecraft clone in your chat (YouTube)
  • ...and many others

Other

  • edina: A simple stack-oriented compiled programming language
  • sharedmem: Shared memory / memory mapped files for Java (Linux + Windows)
  • dwordle: Wordle game Discord bot
  • hourlycatbot: Mastodon bot that posts cat pictures
  • faktor: Tiny & lightweight one-time password (HOTP/TOTP) generation & validation library
  • observatorycore-linux: Linux builds for ObservatoryCore
  • ...and many others

Contact

Shoot me a message on Discord: cervs (originally Cerus#5149)

For more serious enquiries you can send an email to [email protected].


deploy-helper's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

deploy-helper's Issues

Feature: Split Deployer class

The Deployer class is a little big at the moment and it is expected to grow. This will eventually lead to messy code and thats what we are trying to avoid. A solution to this would be to split the class into multiple classes. This is also a great way to get a little more abstraction into the code base.

This is what I imagined:

  • Create some sort of task interface with some sort of run method
  • execSsh and execCommands will be moved into their respective classes which implement the task interface
  • Create instances of the task classes in the Deployer class and call them when needed

I think this would greatly improve the code. If you have any other solution idea please let me know!

Please comment if you would like to work on this.

Feature: Add proper SSH implementation

The current SSH implementation works, but its not great. There's probably a SSH library out there that can do a better job.

Please comment if you would like to work on this.

Make configuration more extendable

Contribution request

Type

  • New feature
  • Bugfix
  • Documentation

Changes

Currently, you are only able to define exactly one SSH config per config file. This is not extendable and will not allow you to define more than one SSH host (for example if you have multiple destinations) with different credentials.

Also the current system does not allow proper extension of deployment tasks as the config relies on SSH and command executions.

Relevant issues

This issue will be worked on together with #5 as it is intuitive to do so.

Feature: (S)FTP integration

Implement (S)FTP to upload / delete artifacts. The only way to upload artifacts at the moment is through the use of external commands, like Linux's scp, and that's not really great.

I would add an ftp section to the config (like the ssh section) with an instructions array (upload file, delete file, ..). The Destination.Order enum would have to be changed too. The Gson type adapters will also have to be changed and a new type adapter for the ftp section needs to be added.

Please comment if you would like to work on this.

Feature: Add unit tests

The project doesn't contain a single unit test at the moment. I have never written unit tests before so I don't really have a clue how to write good tests.

Please comment if you would like to work on this. Experience with writing (good) unit tests will be needed.

Update to Java 17

Update the project to Java 16 17. Make sure to test everything and to adjust the README.

Comment if you would like to work on this.

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.