Giter Site home page Giter Site logo

containerize-java-microservice's Introduction

Containerize Java micro-services using CircleCI

CircleCI

Microservices

Command to test maven project:

## Test Java WebApplication 
mvn test
## Test and build Java WebApplication  
mvn clean install

Command to build docker image and push it to docker registry:

  • Build docker image: docker build -t $DOCKER_REGISTRY/java-webapp .
  • Run docker container: docker run -d -p 8080:8080 $DOCKER_REGISTRY/java-webapp
  • Test container accessing application in browser http://localhost:8080/
  • Login to Artifactory docker registry: docker login -u $USER -p $PASSWORD $DOCKER_REGISTRY
  • Push docker image: docker push $DOCKER_REGISTRY/java-webapp

Steps to build docker images using CircleCI and push it to docker registry.

Step 1:

copy .circleci/config.yml to your project

Step 2:

Add your project in Circle CI.

Step 3:

add Environment Variables $DOCKER_REGISTRY, USER, PASSWORD in Environment Variables settings of Circle CI.

$DOCKER_REGISTRY ->  Docker Registry URL 
e.g  $DOCKER_REGISTRY -> https://mycompany.docker.io/

USER -> Docker Registry User which has permission to deploy artifacts.
e.g USER -> admin

PASSWORD -> Password for Docker Registry User.
e.g PASSWORD -> password

screenshot

Steps to build helm chart and deploy Java Webapp to Kubernetes using helm:

Prerequisites Details

  • Kubernetes 1.8+
  • helm 2.8+
Step 1: Package helm chart:
helm package java-webapp
Step 2: Deploy Java Webapp to Kubernetes:
helm install --name java-webapp  java-webapp-1.0.0.tgz
Step 3: Check status of helm deployment
helm status java-webapp
Setp 4: Access Java Webapp
export SERVICE_IP=$(kubectl get svc --namespace default java-webapp -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:80

screenshot

Congratulation You have just containerize Java micro-services and deployed it to Kubernetes.

containerize-java-microservice's People

Contributors

jainishshah17 avatar

Watchers

 avatar  avatar  avatar

Forkers

vignesh-githunt

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.