So it seems, no matter where I go, I always come back to Docker! Not that this is problematic in and of itself, as it just starts highlighting why it's necessary, or at the very least, the kind of work Docker Containers will do for you instead of the usual "what version of Java does this need? What other specific environment configs does this project need that I need to notate so I don't conflict with that project" - and yes, I'm aware some Uber developers out there do this like nothing - but it's not a skill I picked up, and Docker fills that void for me.
jBPM is a toolkit for building business applications to help automate business processes and decisions.
jBPM originates from BPM (Business Process Management) but it has evolved to enable users to pick their own path in business automation. It provides various capabilities that simplify and externalize business logic into reusable assets such as cases, processes, decision tables and more.
A current task is getting jBPM - Business Process Management up and running on different people's machines. It seems OSX always likes to be difficult with it's Java settings - too new, and things won't work, and then you need to downgrade. But I hate going backwards, so fortunately, they have a Dockerized container!
That means - I don't care what version java you're running, we can get the whole shebang up-and-running with some command-line goodness.
Some of this is copy/paste from the respective sites - this just condenses it into one space.
If you do not have these installed already, Homebrew will attempt to install them for you.
If you'd like to install them yourself:
(below copied from the Homebrew site):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Paste that in a macOS Terminal or Linux shell prompt.
The script explains what it will do and then pauses before it does it.
You will probably need to close and reopen your terminal window.
$> brew --version // should output: Homebrew 2.2.14-14-g0404ce2
(or some other more recent version)
brew cask install docker
⌘ + Spaceto bring up Spotlight Search and enter Docker to launch Docker.
When Docker is launched in this manner, a Docker whale icon appears in the status menu. Example:
As soon as the whale icon appears, the symbolic links for
docker-machine are created in
$> ls -l /usr/local/bin/docker* lrwxr-xr-x 1 susam domain Users 67 Apr 12 14:14 /usr/local/bin/docker -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker lrwxr-xr-x 1 susam domain Users 75 Apr 12 14:14 /usr/local/bin/docker-compose -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-compose lrwxr-xr-x 1 susam domain Users 90 Apr 12 14:14 /usr/local/bin/docker-credential-osxkeychain -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-credential-osxkeychain lrwxr-xr-x 1 susam domain Users 75 Apr 12 14:14 /usr/local/bin/docker-machine
$> docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/
of course, your versions may differ
$> docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Tue Mar 28 00:40:02 2017 OS/Arch: darwin/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Fri Mar 24 00:00:50 2017 OS/Arch: linux/amd64 Experimental: true
If you are going to use docker-machine to create virtual machines, install VirtualBox.
$> brew cask install virtualbox
Note that if VirtualBox is not installed, then docker-machine fails with the following error.
$> docker-machine create manager Running pre-create checks... Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
(below copied from the jBPM site):
$> docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full jboss/jbpm-server-full:latest
Once container and web applications started, you can navigate to it and login using the username wbadmin and password wbadmin or any of the users available in the Business Central listed in the section below.
That’s all that is needed to get fully configured and running jBPM distribution that includes:
Everything configured to work together smoothly and you can access them at following locations: