Now that we are getting into the project work for the semester, I wanted to share a few words about project hosting. As previously mentioned in post @197 we will be using Docker as a way to make sure we can run your delivered projects. We used this approach last semester and it went pretty well. This semester, we have some exciting improvements. We will be using the Health Data Analysis Platform (HDAP – hdap.gatech.edu) to host your projects, along with a continuous deployment approach that will streamline the whole process.
I’m attaching here a FAQ-style guide prepared by the HDAP team that explains some details and I wanted to explain a little about the process at a high level here. As you already know from post @488, Taylor is making github repos for each team. In addition, each team will be assigned a URL unique to their project (e.g. projectAwesome.apps.hdap.edu or project1.apps.hdap.edu). The HDAP pipeline will be configured (with the help of your TA) so that when you perform commits, a build will be automatically executed using Jenkins, and then your project will be deployed to a docker swarm.
To make all this happen, you will be responsible for a few things:
- You will create a Jenkinsfile to describe how to build your project
- You will create a Dockerfile (or files) that describe how to build your container(s)
- You will create a docker-compose file that will describe how to launch your container(s)
With those things in place residing with your repo — along with your code — the pipeline should have everything needed. You’ll find a little more detail about these in the attached guide. There’s also links to some sample projects to demonstrate. We’ve got a couple so far and I’m working on a python sample this week as well.
If you’re at all familiar with the concept of DevOps, these things are probably not new to you. If these tools and approach are new to you, then I think you’ll find this to be an exciting skillset to add to your toolbox.
I know you’ll have many questions, but don’t worry we’ll work through this together. It’s early in the projects so I expect you’re just starting to work out what language you’ll use, how you’ll approach your project, and so on. So we wanted to share this information right away in case it has any impact on your decisions.
If you haven’t already, I also highly recommend you work through the Docker getting started (https://docs.docker.com/get-started/) to get familiar with the concepts. Same for docker compose (https://docs.docker.com/compose/gettingstarted/).
High Level Overview and Explanation of how GitHub, Jenkins, Docker, Rancher and HDAP all fit together:
Overview of HDAP:
Details on getting projects configured and deployed to HDAP:
NOTE: Students may not have the privileges to access some of the project deployment configuration setting.