Continuous Delivery for Java Apps: Kubernetes and Jenkins in Practice
$9.99
Minimum price
$19.99
Suggested price

Continuous Delivery for Java Apps: Kubernetes and Jenkins in Practice

Build a CD Pipeline Step by Step Using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory

About the Book

Dear Reader,

Before getting this book, please click on Read Free Sample to download 110 pages for free; this should give you an idea whether you like the book's style, structure, and contents or not. Please let me know (https://www.jorgeacetozi.com/about) if you have any trouble throughout your Continuous Delivery journey! Thank you very much!

This book will guide you through the implementation of the real-world Continuous Delivery using top-notch technologies that are in high demand by the best companies around the world. Instead of finishing this book thinking "I know what Continuous Delivery is, but I have no idea how to implement it", you will end up with your machine set up with a Kubernetes cluster running Jenkins Pipelines in a distributed and scalable fashion (each Pipeline run on a new Jenkins slave dynamically allocated as a Kubernetes pod) to test (unit, integration, acceptance, performance and smoke tests), build (with Maven), release (to Artifactory), distribute (to Docker Hub) and deploy (on Kubernetes) a Spring Boot application to testing, staging and production environments implementing the Canary Release deployment pattern to mitigate risks.

This book is intended for Java Developers, SysAdmins or anyone interested in learning how to build a continuous delivery pipeline step by step using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory. 

If you are a Java Developer, it's not required that you have prior knowledge with Kubernetes, Docker, Vagrant, Jenkins, etc. If you are a SysAdmin, it's not required that you know about Java, Spring, Maven, and so on. Although this is a hands-on book, all the theory needed to build the CD pipeline is provided step by step throughout the book.

I have worked as a Java Developer for many years and now I'm particularly interested in subjects such as these:

- Agile

- DevOps / Continuous Delivery

- NoSQL Databases (Cassandra, Redis, etc)

- Cloud Computing

- Containers

- Distributed Systems

- Linux / Infrastructure / Security

This is the book I wish I had found when I was learning how to implement Continuous Delivery in practice; that's why I wrote it. It will bring to you years of experience implementing Continuous Delivery in many different Java projects.

It's also worth to mention that this book is a forever edition, which means that no matter how fast the technologies used here evolve, this book will be always kept up to date and of course you will get notified and will pay nothing to take advantage of the updates.

I hope you buy this book and have a very pleasant reading. Thank you very much!

Subscribe to my website for news and updates: https://www.jorgeacetozi.com

About the Author

Jorge Acetozi
Jorge Acetozi

Jorge Acetozi is a senior software engineer and technical writer who spends almost his whole day having fun with things such as AWS, Kubernetes, Docker, Terraform, Ansible, Cassandra, Redis, Elasticsearch, Graylog, Sensu, Fluentd, RabbitMQ, Kafka, Java, Python, Spring, and much more! He loves deploying applications in production while thousands of users are online, monitoring the infrastructure, and acting quickly when monitoring tools decide to challenge his heart's health! Check out my newest articles:

Bundles that include this book

$29.98
Bought separately
$21.99
Bundle Price

Table of Contents

  •  
    • Why You Should Read This Book
    • About the Author
  • Introduction
    • Agile
    • Scrum
      • Scrum and Continuous Integration
      • Deployed vs Released
      • Scrum and Continuous Delivery
    • Extreme Programming and Continuous Delivery
      • Automated Tests
      • Continuous Integration
    • Feature Branch
    • Continuous Delivery
    • Continuous Delivery Pipeline
    • Continuous Delivery vs Continuous Deployment
    • Canary Release
    • A/B Tests
    • Feature Flags
  • Notepad App: Automated Tests, Maven and Flyway
    • Pre-Requisites
    • The Notepad Application
      • The Note Model
      • The Note Controller
    • Unit Tests
      • NoteTest.java
    • Integration Tests
      • NoteServiceTest.java
      • NoteControllerTest.java
    • Acceptance Tests
      • Page Object: NewNotePage.java
      • CreateNoteTest.java
      • AcceptanceTestsConfiguration.java
        • Distributed Acceptance Tests with Selenium-Grid
    • Smoke Tests
    • Performance Tests
      • Gatling
      • HomeSimulation.scala
    • Apache Maven
      • Maven Snapshot vs Release
      • The Default Lifecycle and its Phases
      • Maven Repositories
      • Repository Manager
      • Maven Plugins: Surefire and Failsafe
      • Maven Profile
      • Running Unit Tests
      • Running Integration Tests
      • Running Acceptance Tests
      • Running Smoke Tests
      • Running Performance Tests
      • Publish Artifacts to Artifactory with Maven
        • Publish a Snapshot to Artifactory
        • Publish a Release to Artifactory
        • The release:prepare Goal
        • The release:perform Goal
    • Flyway
  • Docker
    • Introduction to Docker
    • Difference Between Container and Image
    • Docker Hub
      • Create your Account
      • Official Docker Repositories
      • Image Tags
      • Pulling Images From a Different Docker Registry
      • Non-Official Docker Images
      • Create a Repository, an Image and Push it to Docker Hub
    • Running Containers on Docker
      • Running Containers as Daemons
      • Container Clean Up
      • Naming Containers
      • Exposing Ports
      • Persistent Data with Volumes
      • Environment Variables
    • Docker Networking
      • Create a Bridge Network
        • Container Static IP Address
        • Linking Containers
    • Most Used Docker Commands
      • Images
      • Containers
      • Misc
    • Building Docker Images
      • Dockerfile
        • FROM
        • ENV
        • RUN
        • WORKDIR
        • COPY
        • ADD
        • EXPOSE
        • ENTRYPOINT
        • VOLUME
        • USER
  • Jenkins: Pipeline as Code and ChatOps
    • Jenkins Overview
    • Jenkins Concepts
      • Job (or Project)
      • Build
      • Artifact
      • Workspace
      • Executor
      • Plugin
      • Node, Master, and Agent (or Slave)
    • ChatOps
      • Create a Slack Workspace
      • Integrate Slack with Jenkins
        • Slack Notification Plugin
      • Use Hubot to Interact with Jenkins
    • Jenkins Pipeline
      • Declarative Pipeline vs Scripted Pipeline
      • Scripted Pipeline
      • Using Docker with Jenkins Pipelines
      • Running Docker from Within the Jenkins Container
    • Scaling Jenkins with Slaves
  • Kubernetes
    • Why Kubernetes?
    • Set up a Kubernetes Cluster using Vagrant
    • Hands-on Introduction to Kubernetes
    • Kubernetes Concepts
      • Namespaces
      • Pods
      • Labels
      • Replica Sets
      • Services
        • Service Discovery using DNS
          • Service Discovery using Namespaces
      • Volumes
      • Handling External Configurations
        • Config Maps
          • Changing Logback Log Level at Runtime
        • Secrets
          • Using Secrets as Environment Variables
          • Using Secrets as Files from a Pod
      • Deployments
      • Readiness Probes
      • Liveness Probes
      • Canary Release
    • Kubernetes Architecture
      • Kubernetes Master Components
        • Etcd
        • API Server
        • Controller Manager
        • Scheduler
    • Kubernetes Node Components
      • Service Proxy
      • Kubelet
        • cAdvisor
    • Kubernetes Add-ons
      • Web UI (Dashboard)
        • Monitoring Kubernetes with Heapster, InfluxDB and Grafana
        • Web UI Overview
      • DNS
  • Hands-on Project: Continuous Delivery Pipeline
    • Configuration
      • Kubernetes Cluster
      • GitHub Repositories
      • Docker Hub
      • Artifactory
      • MySQL
      • Logback
      • Jenkins
        • Kubernetes Plugin
      • Pipeline Project: notepad-testing
      • Pipeline Project: notepad-acceptance-test
      • Pipeline Project: notepad-continuous-integration
      • Pipeline Project: notepad-release
      • Pipeline Project: notepad-staging
      • Pipeline Project: notepad-performance-test
      • Pipeline Project: notepad-production
      • Pipeline Project: notepad-canary
      • Pipeline Project: notepad-canary-scale-replicas
    • Usage
      • New User Story Development Flow
      • Preparation: Deploying Version 1.0.0
      • Creating the Pull Request
      • Testing Branch add-note-subtitle
      • Generating Release Version 1.1.0
      • Deploying Release Version 1.1.0 to Staging
      • Deploying Release Version 1.1.0 to Production using Canary Release
    • Code
      • Testing Branch add-note-subtitle
        • notepad-testing
        • notepad-acceptance-test
      • Generating Release Version 1.1.0
        • notepad-continuous-integration
        • notepad-release
      • Deploying Release Version 1.1.0 to Staging
        • notepad-staging
        • notepad-performance-test
      • Deploying Release Version 1.1.0 to Production using Canary Release
        • notepad-canary
      • notepad-canary-scale-replicas
        • notepad-production
  • Appendices
    • Notepad application.yml
    • Notepad pom.xml

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub