Learning Objectives for Deployment Week

GitHub Actions and Docker Image Deployment

  1. Understand the role of continuous integration and continuous deployment (CI/CD) in modern software development.
  2. Practise how to set up a GitHub repository and configure version control for your project.
  3. Explore the basic concepts of Docker and containerization for creating consistent development environments.
  4. Master the process of creating Docker images for Java applications, specifically JAR files.
  5. Gain proficiency in using DockerHub for hosting and sharing Docker images.
  6. Understand the advantages of using GitHub Actions for automating the CI/CD pipeline.
  7. Learn how to define and configure CI/CD workflows in GitHub Actions YAML files.
  8. Implement automated builds and tests for Java applications in GitHub Actions.
  9. Explore the process of deploying a Docker image to DockerHub as part of a CI/CD pipeline.
  10. Learn how to deploy a Docker container to a remote server by pulling the image from DockerHub.

Rest endpoint testing with jwt

  1. Understand the importance of testing RESTful APIs to ensure their functionality and security.
  2. Re-Explore the basic concepts of RESTful API testing using Rest Assured, JUnit 5, and Hamcrest matchers.
  3. Learn to set up a test environment for RESTful APIs using test containers, Rest Assured, JUnit 5, and Hamcrest.
  4. Learn to create a user registration endpoint that stores user data in a database and hashes the password.
  5. Learn to invoke a JWT token from the login endpoint and use it to authenticate requests to secured endpoints.
  6. Master the process of writing test cases for RESTful APIs using Rest Assured and JUnit 5

Top

3. semester efterår 2024