Deployment
Topics covered in this week are:
Deploying Javalin applications on Docker in the Cloud using:
- Docker
- Continuous Integration & Deployment
- GitHub Actions
- Docker Hub
- Watchtower
- Ubuntu VM on Digital Ocean
- Caddy Server
- Domains, SSL Certificates, and HTTPS
Learning objectives for the week
Monday
Online review on the Friday assignment:
- What did you solve?
- Show your code an run it in IntelliJ
- Think about what you could have done differently
- What did you learn?
For the rest of the day: Prepare for the week. Watch the videos and read the articles.
Tuesday (class) - Docker, Docker Hub, and GitHub Actions
Prepare for the class
Watch this video:
Skim through these articles:
In-class exercises
Wednesday (CodeLab) - Docker, Digital Ocean, Watch Tower, and Caddy Server
Today we will finish deploying a web api on a Digital Ocean Droplet. We will use Docker, Watch Tower, and Caddy Server to deploy the web api.
The goal is to have a running web api on a Digital Ocean Droplet with a domain name and SSL certificate. The web api should be accessible through the domain name and should be updated automatically when a new version is pushed to the Docker Hub.
Prepare for the CodeLab
-
It would be good if you have a domain name ready. It takes a little while to get a domain activated and have the dns handling transfered to Digital Ocean. If you don’t have a domain name yet, please follow this tutorial.
-
Also, sign up on Digital Ocean if you haven’t done that already. Here is a tutorial.
-
Make sure you have a Droplet running on Digital Ocean. Here is a tutorial.
In-class exercises
This week’s CodeLab is a full pipeline exercise. You will set up a full CI/CD pipeline for a Java project using GitHub Actions, Docker Hub, and Watchtower. You will learn how to automate the building, testing, and deployment of your application in a containerized environment and later run it on a Digital Ocean server.
Thursday (class) - Putting the pieces together - Integration testing with Security
No preparations needed for this day. But bring your laptop ;-)
Friday (exercise day)
No Friday assignment this week. Use the day to finish the exercises from the week. And show up for the JumpStart Event in the auditorium from 09:00 to 12:00 and bring a friend.
Check TimeEdit for time schedule, teacher, and location - and keep an eye on your inbox for urgent updates.