DEPARTMENT OF COMPUTING

Assignment: Exploring CI/CD Technologies

Title: Exploring Continuous Integration and Continuous Deployment (CI/CD) Technologies

Objective:

The objective of this assignment is to familiarize students with various CI/CD technologies, understand their functionalities, advantages, and application in software development. Each student will explore a different CI/CD technology, prepare an oral presentation with accompanying materials, and demonstrate a working example of a project utilizing the chosen technology.

Duration:

10-15 minutes per presentation

Instructions:

  1. Technology Selection:

    • Each student will select a specific CI/CD technology (e.g., Jenkins, GitLab CI/CD, CircleCI, Travis CI, etc.). No two students can present on the same technology.
    • Technologies can include both open-source and commercial solutions.
  2. Research and Presentation Preparation:

    • Conduct in-depth research on the selected technology, understanding its core concepts, features, architecture, and best practices.
    • Prepare a presentation summarizing the key points:
      • Introduction to the chosen technology.
      • Explanation of its core components and functionalities.
      • Comparison with other CI/CD tools (if applicable).
      • Use cases and industries where the technology is commonly applied.
      • Benefits and potential drawbacks.
      • Any unique or standout features.
      • Real-world examples of companies/projects using the technology.
  3. Working Example:

    • Create a demonstration project that showcases the application of the chosen CI/CD technology.
    • The project should include:
      • Source code hosted on a version control system (GitHub, GitLab, etc.).
      • Configuration files for CI/CD pipeline setup (e.g., YAML, Jenkinsfile, etc.).
      • An application or codebase that undergoes automated build, test, and deployment processes.
      • Documentation on how to replicate the CI/CD setup and run the project.
  4. Presentation Guidelines:

    • Presentations should be clear, engaging, and well-structured.
    • Demonstrate the working example during the presentation to showcase the technology in action.
    • Encourage discussions and questions from classmates after the presentation.

Evaluation Criteria:

Submission:

Note: Students are encouraged to start early to ensure ample time for research, project development, and presentation preparation. Collaboration with classmates for knowledge sharing is permitted but individual presentations are required.

Last Updated 11/21/2023