GithubHelp home page GithubHelp logo

doytsujin / jvm-development-environment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kurron/jvm-development-environment

0.0 1.0 0.0 2.49 MB

A Vagrant controlled software development environment built around IntelliJ IDEA, PyCharm, Docker and Ubuntu.

License: Apache License 2.0

Shell 34.52% Ruby 65.48%

jvm-development-environment's Introduction

Software Development Environment

Overview

This project is a Vagrant box that is provisioned for software development. It is a Linux-based system and has many of the tools needed by a developer already installed. The provisioning mechanism is based on Ansible and allows for user-specific customizations to be applied.

Prerequisites

  • Vagrant installed and working

  • VirtualBox installed and working

  • Virtualization support enabled in your BIOS

  • a working internet connection

  • Your corporate VPN running (if you want to apply some work-specific plays)

if you don’t enable virtualization support in your BIOS, VirtualBox will not run correctly.

Building

All the components of the environment live in repositories on the internet so there is nothing to build.

💡
Some people have experienced issues when rebuilding a box due to flaky networks, online assets moving to different locations or installation processes changing. When you need your box, you need your box and you don’t have the time to troubleshoot an installation issue. To combat this problem, we’ve decided to change the build model and bake in much of the software into the base image. The trade-off we’ve made to ensure quick and stable rebuilds is a larger initial download. All boxes are currently housed in HashiCorp’s Vagrant Cloud repository.

Installation

Use Git to clone this project, go into the project folder, type vagrant up and go get a cup of coffee. The construction time of the box greatly depends on your internet speeds.

Xubuntu
Figure 1. Xubuntu

Tips and Tricks

Where is my JDK?

Recent changes to the JDK release schedule have resulted in numerous versions of the JDK available for download, making it difficult to select a version that will meet your needs. We now use SDK Man! to manage JVM installation. The ~/bin folder contains a script that will help you list out the available JVMs and how to install them. The key is to select the proper JVM identifier from the list and use it when invoking the installation command. The JAVA_HOME and JDK_HOME environment variables already point to the location that SDK Man! installs the JDK.

I Want To Customize My Box But I’m Not Comfortable With Ansible Yet

The articles How to manage your workstation configuration with Ansible, Manage your workstation with Ansible: Automating configuration and Manage your workstation with Ansible: Configure desktop settings provide a nice recipe you can follow. The author suggests using local.yml as your playbook’s name but our integration expects playbook.yml. Other than that, you should be able to follow the recipe and customize the box to your liking.

Using Snap To Install Applications

💡
Look in the ~/bin folder for scripts that install IDEs and other tools via Snap.

Due to the ever increasing image size, some applications no longer come pre-installed. Those applications, however, can be easily installed via Snap. You can think of a Snap as a Docker image for GUI applications. You can find the popular applications in the Snap Store:

  • MicroK8s

  • Visual Studio Code

  • Atom

  • Skype

  • Slack

  • Chromium

  • Firefox

  • Brave

  • Eclipse

  • RubyMine

  • PyCharm

  • DataGrip

  • PhpStorm

  • IDEA

  • GoLand

  • GIMP

Upgrading

Sometimes the Vagrant file changes which can cause some subtle issues, such as creating an orphaned virtual machine. The safest upgrade procedure is the following:

  1. vagrant destroy to remove the existing box

  2. git pull to download the new files

  3. vagrant box outdated to see if newer version of the box is available

  4. vagrant box update --box <boxname> to pull down the current version of the box

  5. vagrant up to build the new box

RAM and CPU Settings

If you examine the vagrantfile file, you will see that the virtual machine is configured to use 6GB of RAM and 2 CPUs. Feel free to change these values to match your computer’s hardware.

Low Disk Space

If an environment is used long enough, it is likely to run out of disk space. The two main culprits are kernel updates filling up the /boot partition and Docker images filling up the /var/lib/docker partition. You have at least 3 options:

  • throw away the environment and start fresh

  • clean up the old kernels via sudo apt-get autoremove

  • clean up Docker containers via docker rm --volumes --force $(docker ps --all --quiet)

  • clean up Docker images, after cleaning up the containers, via docker rmi --force $(docker images --quiet)

Verifying The Setup

Log into the system with a username of vagrant and password of vagrant.

Installed Infrastructure

Docker containers running common infrastructure are installed in /home/vagrant/bin/servers. Look at the docker-compose.yml file to see what services are currently available to use. Run the start.sh script to install and run the servers. You can also start up a single server, eg docker-compose up -d mongodb.

Docker-based IDEs

We’ve deprecated the use of Docker-based IDEs. We’ve found that projects that produce and consume Docker images can be challenging when running from within a container. If Docker in Docker ever becomes mainstream, we’ll look into switching back. See Using Snap To Install Applications for a better alternative.

Applying Your Company Specific Customizations

The system will look for an environment variable named CORPORATE_PLAYS. If the shell running Vagrant specifies the variable such that it points to an Ansible project on GitHub, the plays will be run and the changes applied. For example export CORPORATE_PLAYS=kurron/ansible-pull-transparent.git will result in this playbook getting run. If the environment variable does not exist, the custom provisioning step is not run.

Applying Your Personal Customizations

The system will look for an environment variable named USER_PLAYS. If the shell running Vagrant specifies the variable such that it points to an Ansible project on GitHub, the plays will be run and the changes applied. For example export USER_PLAYS=myaccount/my-custom-tweaks.git will result in the playbook getting run. If the environment variable does not exist, the custom provisioning step is not run.

Customizations: Linux Example

  1. create and/or edit ~/.bash_profile

  2. add the two variables and save the file

  3. open a new shell

  4. echo $CORPORATE_PLAYS to verify the new variable has been properly set

  5. echo $USER_PLAYS to verify the new variable has been properly set

  6. you may have to log out and back in again for the variables to take affect

export CORPORATE_PLAYS=kurron/ansible-pull-transparent.git
export USER_PLAYS=foo/custom-tweaks.git

Customizations: Windows 10 Example

  1. In Search, search for and then select: System (Control Panel)

  2. Click the Advanced system settings link.

  3. Click Environment Variables.

  4. In User variables for …​ add CORPORATE_PLAYS variable, pointing it to your plays on GitHub

  5. In User variables for …​ add USER_PLAYS variable, pointing it to your plays on GitHub

  6. In Search, search for and then select: Command (Command Prompt)

  7. echo %CORPORATE_PLAYS% to verify that your new variable has been properly set

  8. echo %USER_PLAYS% to verify that your new variable has been properly set

Gather Docker Container Metrics

sudo csysdig -pcontainer will fire up the sysdig tool. Use F2 to switch to the container view and see how each container is using system resources. Explore some examples of how to use Sysdig and see how can aid in troubleshooting.

Sub-Projects

💡
We’ve moved away from using ansible-pull and to using Ansible Roles, which give us a better mechanism for reusing provisioning logic. You can find a list of available roles in my Ansible Galaxy account. More are sure to be included over time.

Installed Software (partial list)

Troubleshooting

My Favorite App Is Missing!

Due to ever increasing image size, some applications no longer come pre-installed. See Using Snap To Install Applications for more details.

My Customization Script No Longer Works!

The custom Ansible playbooks are now launched using the normal user account instead of the root account. You should check your playbook to ensure that Become: True are on the plays that require them. Another place to check is the Ansible code itself. The newest release has moved beyond deprecation and has removed some constructs. I noticed it with some of my plays that use iteration.

Vagrant Box Does Not Come Up

If you find that when you are building a new box that it does not come up, try going into the Settings→USB section of your box in the VirtuabBox UI and disabling the USB controller. If you want USB support, make sure you have installed VM VirtualBox Extension Pack.

You should also double check that you have enabled virtualization support in your BIOS.

Partial Failure

Sometimes networks fail or mirror sites go down. If you experience a failure, you can attempt to resume the construction by issuing vagrant provision at the command line. Vagrant will attempt to start over, but will skip any provisions that have already taken place.

Cannot Acquire Repository Lock

💡
We’ve altered some of the installation logic to perform the retry logic described below automatically so you probably don’t have to worry about this scenario any longer.

One of the first steps is to update the APT repositories via apt-get update which every once in a while can fail. What appears to happen in those cases is that the Ubuntu GUI has already acquired the lock and is running the update on its own. The solution is to wait a bit and then reset the environment so that provisioning can continue. This issue will manifest in "Ansible is not installed" errors.

  1. vagrant ssh

  2. sudo rm /var/lib/dpkg/lock to remove the lock file

  3. sudo apt-get update — repeat this step until you can successfully acquired the lock and update

  4. sudo rm /var/ansible-install

  5. exit

  6. vagrant provision should resume the provisioning of the box

My Git settings are all wrong!

You need to specify a custom Git configuration file. The best way to do that is to create and apply your own customizations.

I’m running Windows 7 and Vagrant hangs!

You need to install a current version of Windows Management Framework and then reboot your machine. Apparently, there is a compatibility issue older PowerShell and newer Vagrant versions.

When updating my box, I get a metadata error!

Some people have seen the following error:

$ vagrant box update
==> xedhat: Box 'kurron/maipo-xedhat' not installed, can't check for updates.
==> xubuntu: Checking for updates to 'kurron/xenial-xubuntu'
    xubuntu: Latest installed version: 5.1.29
    xubuntu: Version constraints:
    xubuntu: Provider: virtualbox
There was an error while downloading the metadata for this box.
The error message is shown below:

The requested URL returned error: 404 Not Found

The solution is to vagrant destroy xubuntu followed by vagrant box remove kurron/xenial-xubuntu. The update should work properly now.

Change History

  1. Release 2020.10.2800

    • Changed: Docker installed on demand via ~/bin/install-docker.sh

  2. Release 2020.10.0300

    • Upgraded: Ubuntu 20.04

    • Upgraded: Kernel 5.4.0-48-generic

    • Upgraded: SDKMAN! 5.9.0+555

    • Upgraded: Python 3.8.2

    • Upgraded: Docker version 19.03.13, build 4484c46d9d

    • Upgraded: docker-compose version 1.27.4, build 40524192

    • Upgraded: Support for VirtualBox 6.1.14 r140239

  3. Release 2020.02.2200

    • Upgraded: Kernel 4.15.0-76-generic

    • Upgraded: SDKMAN! 5.7.4+362

    • Upgraded: Python 3.6.9

    • Upgraded: Legacy Python 2.7.17

    • Upgraded: Docker version 19.03.6, build 369ce74a3c

    • Upgraded: docker-compose version 1.25.4, build 8d51620a

    • Upgraded: docker-machine version 0.16.2, build bd45ab13

    • Upgraded: aws-cli/1.18.5 Python/2.7.17 Linux/4.15.0-76-generic botocore/1.15.5

    • Upgraded: AWS ecs-cli version 1.18.0 (3970a6c)

    • Upgraded: Nomad v0.10.4 (f750636ca68e17dcd2445c1ab9c5a34f9ac69345)

    • Upgraded: Packer 1.5.4

    • Upgraded: Terraform v0.11.14

    • Upgraded: Vault v1.3.2

    • Upgraded: Support for VirtualBox 6.1.4

  4. Release 2019.11.1535

    • Upgraded: Kernel 4.15.0-72-generic

    • Upgraded: JDK 0

    • Upgraded: SDKMAN! 0

    • Upgraded: Python 3.6.9

    • Upgraded: Legacy Python 2.7.15+

    • Upgraded: Docker version 19.03.5, build 633a0ea838

    • Upgraded: docker-compose version 1.24.1, build 4667896b

    • Upgraded: docker-machine version 0.16.2, build bd45ab13

    • Upgraded: aws-cli/1.16.290 Python/2.7.15+ Linux/4.15.0-72-generic botocore/1.13.26

    • Upgraded: AWS ecs-cli version 1.18.0 (3970a6c)

    • Upgraded: Nomad v0.9.5 (1cbb2b9a81b5715be2f201a4650293c9ae517b87)

    • Upgraded: Packer 1.4.3

    • Upgraded: Terraform v0.11.14

    • Upgraded: Vault v1.2.3

    • Upgraded: Support for VirtualBox 6.0.18

    • Upgraded: Support for VMWare Fusion 10.1.6

  5. Release 2019.05.1452

    • Upgraded: Kernel 4.15.0-50-generic

    • Upgraded: JDK 1.8.0_212

    • Upgraded: SDKMAN! 5.7.3+337

    • Upgraded: Python 3.6.7

    • Upgraded: Legacy Python 2.7.15rc1

    • Upgraded: Virtualenv 16.6.0

    • Upgraded: Docker version 18.09.6, build 481bc77

    • Upgraded: docker-compose version 1.24.0, build 0aa59064

    • Upgraded: docker-machine version 0.16.1, build cce350d7

    • Upgraded: aws-cli/1.16.162 Python/2.7.15rc1 Linux/4.15.0-50-generic botocore/1.12.152

    • Upgraded: AWS ecs-cli version 1.14.1 (f73f9e3)

    • Upgraded: Kubectl Client Version: v1.14.1

    • Upgraded: Helm Client: v2.13.1+g618447c

    • Upgraded: localstack 0.9.2

    • Upgraded: sysdig version 0.25

    • Upgraded: falco version 0.15.0

    • Upgraded: Nomad v0.9.1 (4b2bdbd9ab68a27b10c2ee781cceaaf62e114399)

    • Upgraded: Packer 1.4.0

    • Upgraded: Terraform v0.11.14

    • Upgraded: Vault v1.1.2 ('0082501623c0b704b87b1fbc84c2d725994bac54')

    • Upgraded: NodeJS v8.16.0

    • Upgraded: NPM 6.4.1

    • Upgraded: Yeoman 2.0.6

    • Upgraded: Bower 1.8.8

    • Upgraded: Gulp CLI version: 2.2.0

    • Upgraded: Grunt grunt-cli v1.3.2

    • Upgraded: Serverless 1.43.0

    • Upgraded: IntelliJ IDEA 2019.1.2

    • Upgraded: PyCharm 2019.1.2

    • Upgraded: Support for VirtualBox 6.0.8

    • Upgraded: Support for VMWare Fusion 10.1.6

  6. Release 2018.10.1700

    • Upgraded: Kernel 4.15.0-36-generic

    • Upgraded: OpenJDK Runtime Environment Zulu11.1+23 (build 11-ea+22)

    • Upgraded: OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)

    • Upgraded: SDKMAN! 5.7.3+337

    • Upgraded: Python 3.6.6

    • Upgraded: Legacy Python 2.7.15rc1

    • Upgraded: Virtualenv 16.0.0

    • Upgraded: Docker version 18.06.1-ce, build e68fc7a

    • Upgraded: docker-compose version 1.22.0, build f46880fe

    • Upgraded: docker-machine version 0.15.0, build b48dc28d

    • Upgraded: aws-cli/1.16.38 Python/2.7.15rc1 Linux/4.15.0-36-generic botocore/1.12.28

    • Upgraded: AWS ecs-cli version 1.9.0 (a426586)

    • Upgraded: Kubectl Client Version: v1.11.2

    • Upgraded: Helm Client: v2.10.0+g9ad53aa

    • Upgraded: localstack 0.8.7

    • Upgraded: sysdig version 0.24.1

    • Upgraded: falco version 0.12.1

    • Upgraded: Nomad v0.8.6

    • Upgraded: Packer 1.3.1

    • Upgraded: Terraform v0.11.9

    • Upgraded: Vault v0.11.3

    • Upgraded: NodeJS v8.12.0

    • Upgraded: NPM 6.4.1

    • Upgraded: Yeoman 2.0.5

    • Upgraded: Bower 1.8.4

    • Upgraded: Gulp [18:48:21] CLI version 2.0.1

    • Upgraded: Grunt grunt-cli v1.3.1

    • Upgraded: Serverless 1.32.0

    • Upgraded: IntelliJ IDEA 2018.2.5

    • Upgraded: PyCharm 2018.2.4

    • Upgraded: Support for VirtualBox 5.2.20

    • Upgraded: Support for VMWare Fusion 10.1.3

  7. Release 2018.09.0100

    • Upgraded: Kernel 4.15.0-33-generic

    • Upgraded: SDKMAN! 5.7.2+323

    • Upgraded: Python 3.6.5

    • Upgraded: Legacy Python 2.7.15rc1

    • Upgraded: Virtualenv 16.0.0

    • Upgraded: Docker version 18.06.1-ce, build e68fc7a

    • Upgraded: Docker Compose version 1.22.0, build f46880fe

    • Upgraded: Docker Machine version 0.15.0, build b48dc28d

    • Upgraded: AWS CLI 1.16.6

    • Upgraded: AWS ECS CLI ecs-cli version 1.7.0 (61f83b2e)

    • Upgraded: Kubectl Client Version: v1.11.2

    • Upgraded: Helm v2.10.0+g9ad53aa

    • Upgraded: localstack 0.8.7

    • Upgraded: Sysdig 0.23.1

    • Upgraded: Falco 0.11.1

    • Upgraded: Nomad v0.8.4 (dbee1d7d051619e90a809c23cf7e55750900742a)

    • Upgraded: Packer 1.2.5

    • Upgraded: Terraform v0.11.8

    • Upgraded: Vault v0.11.0 ('87492f9258e0227f3717e3883c6a8be5716bf564')

    • Upgraded: NodeJS v8.11.4

    • Upgraded: NPM 5.6.0

    • Upgraded: Yeoman 2.0.5

    • Upgraded: Bower 1.8.4

    • Upgraded: Gulp [17:40:51] CLI version 2.0.1

    • Upgraded: Grunt grunt-cli v1.3.1

    • Upgraded: Serverless 1.30.3

    • Upgraded: IntelliJ IDEA 2018.2.2

    • Upgraded: PyCharm 2018.2.2

    • Upgraded: Support for VirtualBox 5.2.18

    • Upgraded: Support for VMWare Fusion 10.1.3

  8. Release 2018.08.0400

    • Removed: MongoDB Compass (lack of use)

    • Removed: WebStorm (easy install via Snap Store)

    • Removed: Charles Proxy (lack of use)

    • Added: IAM Authenticator for EKS

    • Added: localstack CLI

    • Upgraded: Kernel 4.15.0-22-generic

    • Upgraded: SDKMAN! SDKMAN 5.7.2+323

    • Upgraded: Python 3.6.5

    • Upgraded: Legacy Python 2.7.15rc1

    • Upgraded: Edge Python Python 3.6.5

    • Upgraded: Virtualenv 16.0.0

    • Upgraded: Docker Docker version 18.06.0-ce, build 0ffa825

    • Upgraded: Docker Compose docker-compose version 1.22.0, build f46880fe

    • Upgraded: Docker Machine docker-machine version 0.15.0, build b48dc28d

    • Upgraded: AWS CLI aws-cli/1.15.71 Python/2.7.15rc1 Linux/4.15.0-22-generic botocore/1.10.70

    • Upgraded: AWS ECS CLI ecs-cli version 1.7.0 (61f83b2e)

    • Upgraded: Kubectl Client Version: v1.11.1

    • Upgraded: Helm v2.9.1

    • Upgraded: localstack 0.8.7

    • Upgraded: Sysdig sysdig version 0.22.1

    • Upgraded: Falco falco version 0.11.1

    • Upgraded: Nomad Nomad v0.8.4 (dbee1d7d051619e90a809c23cf7e55750900742a)

    • Upgraded: Packer 1.2.5

    • Upgraded: Terraform Terraform v0.11.7

    • Upgraded: Vault Vault v0.10.4 ('e21712a687889de1125e0a12a980420b1a4f72d3')

    • Upgraded: NodeJS v8.11.3

    • Upgraded: NPM 5.6.0

    • Upgraded: Yeoman 2.0.5

    • Upgraded: Bower 1.8.4

    • Upgraded: Gulp [13:25:09] CLI version 2.0.1

    • Upgraded: Grunt grunt-cli v1.2.0

    • Upgraded: Serverless 1.29.2

    • Upgraded: IntelliJ IDEA 2018.2

    • Upgraded: PyCharm 2018.2

  9. Release 2018.05.2801

    • Removed: Windows support (I no longer have access to a Window 10 box, preventing me from diagnosing issues)

    • Removed: VPN support (it no longer installs and I don’t have access to a VPN account to diagnose issues)

    • Removed: Python 3 PPA (it no longer installs and the official repository contains a recent version)

    • Removed: Atom (see Using Snap To Install Applications for installation instructions)

    • Removed: Visual Studio Code (see Using Snap To Install Applications for installation instructions)

    • Removed: Chromium (see Using Snap To Install Applications for installation instructions)

    • Removed: HipChat (lack of use)

    • Removed: JDK 9 (replaced by JDK 10)

    • Removed: Hashicorp Consul (lack of use)

    • Removed: Hashicorp Serf (lack of use)

    • Removed: Support for Ubuntu 16.04 Xenial Xerus (replaced with Bionic Beaver)

    • Warning: Vagrant customization scripts no longer run as root, adjust playbooks accordingly.

    • Added: Support for Ubuntu 18.04 Bionic Beaver

    • Added: VMWare Support (Fusion used regularly but other flavors should work as well)

    • Added: WebStorm 2018.1.4

    • Added: audio support. We no longer used the trimmed down kernel so sound is now fully supported!

    • Upgraded: Kernel 4.15.0-22-generic

    • Upgraded: JDK 1.8.0_163

    • Upgraded: SDKMAN! 5.6.4+305

    • Upgraded: Python 3.6.5

    • Upgraded: Legacy Python 2.7.15rc1

    • Upgraded: Virtualenv 16.0.0

    • Upgraded: Docker 18.05.0-ce, build f150324

    • Upgraded: Docker Compose 1.21.2, build a133471

    • Upgraded: Docker Machine 0.14.0, build 89b8332

    • Upgraded: AWS CLI 1.15.28

    • Upgraded: AWS ECS CLI 1.5.0 (0bfcecd)

    • Upgraded: Kubectl Client 1.10

    • Upgraded: localstack 0.8.6.1

    • Upgraded: Sysdig 0.21.0

    • Upgraded: Falco 0.10.0

    • Upgraded: Nomad v0.8.3 (c85483da3471f4bd3a7c3de112e95f551071769f)

    • Upgraded: Packer 1.2.3

    • Upgraded: Terraform v0.11.7

    • Upgraded: Vault v0.10.1 ('756fdc4587350daf1c65b93647b2cc31a6f119cd')

    • Upgraded: NodeJS v8.11.2

    • Upgraded: NPM 5.6.0

    • Upgraded: Yeoman 2.0.2

    • Upgraded: Bower 1.8.4

    • Upgraded: Gulp [20:07:00] CLI version 2.0.1

    • Upgraded: Grunt grunt-cli v1.2.0

    • Upgraded: Serverless 1.27.3

    • Upgraded: IntelliJ IDEA 2018.1.4

    • Upgraded: PyCharm 2018.1.3

    • Upgraded: Charles Proxy 4.2.5

    • Upgraded: MongoDB Compass 1.13.0

  10. Release 5.2.8

    • Upgraded: Kernel 4.4.0-116-generic

    • Upgraded: JDK 1.8.0_163

    • Upgraded: SDKMAN! 5.6.2+294

    • Upgraded: Python Python 3.5.2

    • Upgraded: Legacy Python2.7.12

    • Upgraded: Edge Python Python 3.6.4

    • Upgraded: Virtualenv 15.1.0

    • Upgraded: Docker 18.02.0-ce, build fc4de44

    • Upgraded: Docker Compose 1.19.0, build 9e633ef

    • Upgraded: Docker Machine 0.13.0, build 9ba6da9

    • Upgraded: AWS CLI 1.14.53

    • Upgraded: AWS ECS CLI 1.4.0

    • Upgraded: Kubectl Client Version 1.9.3

    • Upgraded: localstack 0.8.5

    • Upgraded: Sysdig 0.20.0

    • Upgraded: Falco 0.9.0

    • Upgraded: Consul v1.0.6

    • Upgraded: Consul Replicate v0.4.0

    • Upgraded: Consul Template v0.19.4

    • Upgraded: v0.7.1

    • Upgraded: Packer 1.2.1

    • Upgraded: Terraform v0.11.3

    • Upgraded: Vault v0.9.5

    • Upgraded: NodeJS v6.13.1

    • Upgraded: NPM 3.10.10

    • Upgraded: Yeoman 2.0.1

    • Upgraded: Bower 1.8.2

    • Upgraded: Gulp 2.0.1

    • Upgraded: Grunt v1.2.0

    • Upgraded: Serverless 1.26.1

    • Upgraded: IntelliJ IDEA 2017.3.4

    • Upgraded: PyCharm 2017.3.3

    • Upgraded: Charles Proxy 4.2.1

    • Upgraded: Atom 1.24.0

    • Upgraded: Visual Studio Code 1.21.0

    • Upgraded: MongoDB Compass 1.12.0

  11. Release 5.2.6

    • Added: AWS Shell

    • Added: Meld (graphical diff tool)

    • Removed: WebStorm IDE

    • Removed: DataGrip IDE

    • Removed: VisualVM

    • Upgraded: VirtualBox 5.2.8

    • Upgraded: Vagrant 2.0.2

    • Upgraded: Kernel 4.4.0-112-generic

    • Upgraded: JDK1.8.0_162

    • Upgraded: SDKMAN! 5.6.1+290

    • Upgraded: Python Python 3.5.2

    • Upgraded: Legacy Python 2.7.12

    • Upgraded: Edge Python Python 3.6.4

    • Upgraded: Virtualenv 15.1.0

    • Upgraded: Docker 18.01.0-ce

    • Upgraded: Docker Compose 1.18.0

    • Upgraded: Docker Machine 0.13.0

    • Upgraded: AWS CLI 1.14.32

    • Upgraded: AWS ECS CLI 1.3.0

    • Upgraded: Kubectl v1.9.2

    • Upgraded: localstack 0.8.4

    • Upgraded: Sysdig 0.20.0

    • Upgraded: Falco 0.9.0

    • Upgraded: Consul Consul v1.0.3

    • Upgraded: Consul Replicate v0.4.0

    • Upgraded: Consul Template v0.19.4

    • Upgraded: Nomad v0.7.1

    • Upgraded: Packer 1.1.3

    • Upgraded: Terraform v0.11.3

    • Upgraded: Vault v0.9.3

    • Upgraded: NodeJS v6.12.3

    • Upgraded: NPM 3.10.10

    • Upgraded: Yeoman 2.0.1

    • Upgraded: Bower 1.8.2

    • Upgraded: Gulp 2.0.1

    • Upgraded: Grunt grunt-cli v1.2.0

    • Upgraded: Servless 1.26.0

    • Upgraded: IntelliJ IDEA 2017.3.4

    • Upgraded: PyCharm 2017.3.3

    • Upgraded: Charles Proxy 4.2.1

    • Upgraded: Atom 1.23.3

    • Upgraded: Visual Studio Code 1.19.3

    • Upgraded: MongoDB Compass 1.11.1

  12. Release 5.2.5

    • Upgraded: Kernel 4.4.0-104-generic

    • Upgraded: JDK 1.8.0_152

    • Upgraded: SDKMAN! SDKMAN 5.6.0+287

    • Upgraded: Python Python 3.5.2

    • Upgraded: Legacy Python Python 2.7.12

    • Upgraded: Edge Python Python 3.6.4

    • Upgraded: Virtualenv 15.1.0

    • Upgraded: Docker Docker version 17.12.0-ce, build c97c6d6

    • Upgraded: Docker Compose docker-compose version 1.18.0, build 8dd22a9

    • Upgraded: Docker Machine docker-machine version 0.13.0, build 9ba6da9

    • Upgraded: AWS CLI aws-cli/1.11.125 Python/2.7.12 Linux/4.4.0-104-generic botocore/1.5.88

    • Upgraded: AWS ECS CLI ecs-cli version 1.2.0 (8d555ea)

    • Upgraded: Kubectl Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}

    • Upgraded: localstack 0.8.3

    • Upgraded: Sysdig sysdig version 0.19.1

    • Upgraded: Falco falco version 0.8.1

    • Upgraded: Consul Consul v1.0.2

    • Upgraded: Consul Replicate consul-replicate v0.4.0 (886abcc)

    • Upgraded: Consul Template consul-template v0.19.4 (68b1da2)

    • Upgraded: Nomad Nomad v0.7.1 (0b295d399d00199cfab4621566babd25987ba06e)

    • Upgraded: Packer 1.1.3

    • Upgraded: Terraform Terraform v0.11.1

    • Upgraded: Vault Vault v0.9.1 ('87b6919dea55da61d7cd444b2442cabb8ede8ab1')

    • Upgraded: NodeJS v6.12.2

    • Upgraded: NPM 3.10.10

    • Upgraded: Yeoman 2.0.0

    • Upgraded: Bower 1.8.2

    • Upgraded: Gulp [09:56:42] CLI version 2.0.0

    • Upgraded: Grunt grunt-cli v1.2.0

    • Upgraded: Servless 1.25.0

    • Upgraded: IntelliJ IDEA 2017.3.2

    • Upgraded: PyCharm 2017.3.2

    • Upgraded: WebStorm 2017.3.2

    • Upgraded: DataGrip 2017.3.3

    • Upgraded: Charles Proxy 4.2.1

    • Upgraded: Atom 1.23.1

    • Upgraded: Visual Studio Code 1.19.1

    • Upgraded: MongoDB Compass 1.11.1

    • Upgraded: VisualVM 1.4

  13. Release 5.1.29

    • Upgraded: IDEA 2017.2.5

    • Upgraded: Made JDK 8 default JVM (JDK 9 is also installed)

  14. Release 5.1.28

    • Upgraded: VirtualBox 5.1.28

    • Upgraded: Vagrant 2.0.0

    • Added: Java 9.0.0.15 (now default JDK)

    • Upgraded: Java 1.8.0_144 (keeping during transition to Java 9)

    • Upgraded: Docker 17.07.0-ce

    • Upgraded: Docker Compose 1.16.1

    • Upgraded: Ansible 2.4.0.0

    • Upgraded: Node JS 6.11.3

    • Upgraded: Consul 0.9.3

    • Upgraded: Terraform 0.10.6

    • Upgraded: Linux Kernel 4.4.0-96-generic

    • Upgraded: WebStorm 2017.2.4

    • Upgraded: IDEA 2017.2.4

    • Upgraded: Kubernetes 1.7.6

    • Upgraded: PyCharm 2017.2.3

    • Upgraded: Atom 1.20.1

    • Upgraded: DataGrip 2017.2.2

    • Upgraded: Atlassian’s localstack 0.8.0

    • Upgraded: Visual Studio Code 1.16.1

    • Upgraded: MongoDB Compass 1.8.2

    • Removed: logFACES (broken and nobody was complaining about it)

  15. Release 5.1.26

    • Juniper VPN support

    • Upgraded: VirtualBox 5.1.26

    • Upgraded: Vagrant 1.9.7

    • Upgraded: Docker 17.06.0-ce

    • Upgraded: Docker Compose 1.15.0

    • Upgraded: Ansible 2.3.1.0

    • Upgraded: AWS CLI 1.11.86

    • Upgraded: Node JS 6.11.1

    • Upgraded: NPM 3.10.10

    • Upgraded: Consul 0.9.0

    • Upgraded: Linux Kernel 4.4.0-87-generic

    • Upgraded: WebStorm 2017.2

    • Upgraded: IDEA 2017.2

    • Upgraded: Kubernetes 1.7.2

    • Upgraded: PyCharm 2017.2

    • Upgraded: Atom 1.18.0

    • Upgraded: DataGrib 2017.2

    • Added: Serverless Framework

    • Added: Sysdig’s Falco

    • Removed: docker-py module

    • Added: Atlassian’s localstack (AWS emulator)

    • Added: Visual Studio Code

    • Added: MongoDB Compass

    • Removed: JHipster

  16. Release 5.1.22

    • VirtualBox 5.1.22 support

    • Vagrant 1.9.4 support

    • kernel 4.4.0-75

    • Zulu JDK to 8.0.131

    • Docker Engine v17.04.0-ce

    • Docker Compose 1.12.0

    • Docker Machine 0.11.0

    • IntelliJ 2017.1.2

    • PyCharm 2017.1.2

    • WebStorm 2017.1.2

    • Sysdig 0.15.1

    • VisualVM 1.3.9

    • Consul to 0.8.1

    • Consul Template to 0.18.2

    • Nomad to 0.5.6

    • Terraform to 0.9.4

    • Vault to 0.7.0

    • Charles proxy 4.1.1

    • kubectl 1.6.2

    • Python 3.6 (/usr/bin/python3.6)

    • Atom 1.16.0

    • DataGrip 2017.1.2

    • logFaces 4.3.2

    • HTTPie 0.9.9

    • npm 3.10.10

    • node v6.10.2

  17. Release 5.1.18

    • VirtualBox 5.1.18 support

    • Nomad 0.5.5

    • Terraform 0.9.0

    • Atom 1.15.0

    • AWS CLI 1.11.63

  18. Release 5.1.16

    • VirtualBox 5.1.16 support

    • Vagrant 1.9.2 support

    • Docker 17.03.0-ce

    • Docker Compose 1.11.2

    • Ansible 2.2.1.0

    • AWS CLI 1.11.59

    • NodeJS v6.10.0

    • NPM 3.10.10

    • Consul v0.7.5

    • Nomad v0.5.4

    • Packer 0.12.3

    • WebStorm 2016.3.4

    • IntelliJ 2016.3.5

    • DataGrip 2016.3.4

    • Atom 1.14.4

    • Sysdig 0.15.0

  19. Release 5.1.14

    • Azul JDK is now the default, Oracle is still available if needed

    • Oracle JDK updated to 1.8.0_121

    • AWS CLI updated to 1.11.41

    • ECS CLI updated to 0.4.6

    • Sysdig updated to 0.13.0

    • NodeJS updated to 6.9.4

    • logFACES updated to 4.3.1

    • DataGrip updated to 2016.3.2

    • PyCharm updated to 2016.3.2

    • IntelliJ IDEA updated to 2016.3.3

    • Atom updated to 1.13.0

    • Docker Engine updated to 1.13.0

    • Docker Compose updated to 1.10.0

    • Consul Replicate updated to 0.3.0

    • Consul Template updated to 0.18.0

    • Consul Env updated to 0.6.2

    • Nomad updated to 0.5.2

    • Packer updated to 0.12.2

    • Terraform update to 0.8.4

    • Added missing Atlassian repository keys

  20. Release 5.1.12

    • VirtualBox 5.1.12 support,

    • RedHat now has a current version of Git installed.

    • Firefox, Chromium and Evince now installed by default.

    • Numerous version upgrades.

  21. Release 5.1.10

    • Smaller download,

    • replaced ext4 with xfs,

    • updates to Docker, IntelliJ, PyCharm, WebStorm, Node JS, Atom, Packer

    • VirtualBox 5.1.10 support

  22. Release 5.1.8

    • VirtualBox 5.1.8 support

License and Credits

This project is licensed under the Apache License Version 2.0, January 2004.

jvm-development-environment's People

Contributors

kurron 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.