Skip to content
This repository has been archived by the owner on Oct 6, 2022. It is now read-only.

Latest commit

 

History

History
74 lines (37 loc) · 4.08 KB

README.md

File metadata and controls

74 lines (37 loc) · 4.08 KB

IMPORTANT: This project has been archived

The Deployer Join the chat at https://gitter.im/t1/deployer Build Status

Infrastructure as Code solution for Java EE containers (currently only Wildfly) pulling from a maven repository (currently full support only for Maven Central and Artifactory Pro, as we need to be able to search by checksum).

Motivation

There are very good IaC solutions capable of deploying applications to and configuring resources in JEE containers. There's good support for Wildfly in Ansible, Salt, and Puppet, to name just a few. They are very powerful and can do much more than just this; e.g., they can install packages and the application server itself. And that's exactly the problem that I had: Great power comes with great responsibility... too much responsibility for me as a simple developer and operator of JEE applications, working in an environment where the infrastructure and platform is managed by dedicated operations teams, using those other IaC tools.

As a JEE developer, it also takes some time and dedication to learn those tools... and even more so to add to them. I'd rather have a very limited tool, that's easy to understand and does only what I want it to do... and living in the environment I know best: JEE.

And this simplicity also brings some security, I suppose. A central instance that can mess with any aspect of my system is a real honey pot to any attacker.

OTOH, The Deployer tries to keep away from container specifics, so the configuration files you'll write should run on any JEE container The Deployer supports. I must admit that this is rather academic at the moment, given that only Wildfly is currently supported, but it may prove worth trying to keep adaptability in mind.

Configuration quickly grows unwieldy. So it's all about reducing it to the essential, driving repetition out.

1-Minute-Tutorial

  • Create a file $JBOSS_CONFIG_DIR/deployer.root.bundle containing:
deployments:
  jolokia:
    groupId: org.jolokia
    artifact-id: jolokia-war
    version: 1.5.0
  • Deploy the deployer.war to your container. On startup, it will find your file, pull Jolokia from maven central, and deploy it to the container.

  • Change the version in the file to 1.6.0 and the deployer will pick up the change and update Jolokia.

Documentation

You can find an introduction to the concepts and best practices in the tutorial.

For a comprehensive list of all details, see the reference.

Questions about the design decisions? Take a look at the FAQ.

Building

Just run mvn clean install.

If you don't have an Artifactory Pro on your local machine, but still want to test deployments of your own applications, you can run the ArtifactoryMockLauncher and run index in its CLI. This will build an index of every war, ear, bundle, and postgresql-jar in your local maven repository (~/.m2) and serve files from there.

Release Notes

See the closed milestones

We use Semantic Versioning.

Plans

See the open milestones and issues.

Contribute

You can join the chat or feel free to simply open issues. Pull requests are also warmly welcome.

License: Apache 2.0

Get more details at codescene.io.