DevOps & JHipster

May 9th, 2017

Pascal GRIMAUD

Java Consultant

Open Source Developer

@pascalgrimaud

DevOps

  • Plan
    • generator-jhipster: client, server, service, languages
    • JDL Studio, entity

  • Code
    • DevBox (Vagrant)
    • Configuration IDE
    • Shell Plugins (oh-my-zsh)
    • docker-compose files

  • Build & Test
    • Continous integration: Jenkins2, Travis CI, GitLab CI, CircleCI
    • SonarQube

  • Release & Deploy
    • Heroku, Cloud Foundry, Amazon Web Services, Docker Registry
    • Kubernetes, Rancher (BETA)
    • OpenShift, Mesos Marathon (coming soon...)

  • Operate & Monitor
    • JHipster Console: Elasticsearch, Logstash, Kibana
    • Alerter, ZipKin

Development

  • Installation with Vagrant
  • Installation with Docker
  • Docker Compose

  • Based on bento/ubuntu-16.04
    • Java8, Git
    • NodeJS, NPM, Yarn, bower, gulp, generator-jhipster, jhipster-uml
    • chromium, mysql-workbench, pgadmin3
    • IntelliJ IDEA, Visual Studio Code
    • docker, docker-compose
  • Installation
  • vagrant init jhipster/jhipster-devbox
    vagrant up --provider virtualbox

  • Based on ubuntu:xenial
    • Java8, Git
    • NodeJS, NPM, Yarn, bower, gulp, generator-jhipster
  • Installation
  • docker pull jhipster/jhipster

  • Docker-Compose files for
    • MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server
    • MongoDB, Cassandra
    • Elasticsearch, Kafka
    • SonarQube
    • JHipster Registry, Consul
  • Launch a service
  • docker-compose \
      -f src/main/docker/"service".yml up

Continuous Integration

  • Jenkins2
  • GitLab CI
  • Travis CI
  • CircleCI

Demo with

Result with Jenkins2

Demo with

Result with GitLab

Deployment

              
              



THANK YOU

Slides available at:

pascalgrimaud.github.io/jhipster-parisjug