Link Search Menu Expand Document

Part 5

In this part, there is an individual task, and a group task.

The purpose is to learn about Continous Integration and Continous Deployment, and how to use tools for that. We also practice the use of such tools, when there are multiple contributors to a single project, just like in real life.

By yourself

  • Familiarise yourself with the terms
    • Continous Integration
    • Continous Deployment
    • Continous Delivery
  • Individually, write about 1,5 page essay (so half a page about each term). In your essay, concentrate on
    • What are they used for
    • Why they should be used

It is strongly adviced to do this before the other tasks in this part.

Send your essay via email. The essay should preferably be as a PDF, but a link to Google Docs, Microsoft docx and txt are also fine.

As a group

Find information about (atleast) the following CI/CD services:

  • Travis
  • Jenkins
  • CircleCI
  • GitHub Actions
  • GitLab CI

Create a chart of pros and cons, comparing all of them. (There are a few in the internet already, feel free to use someone else’s opinions). We’ll go through these during the lesson, no need to return them.

Good starting point for the tasks above are search engines (such as Google or DuckDuckGo) and Wikipedia.

For the project you designed in part 4, create a CI pipeline. You can use any of the above, but GitHub Actions might be the easiest. You can find example setup for GHA from here.

  • Create the C-Sharp project. You can do it from the beginning, or use the example from here.
  • Everyone in the group should make at least one meaningful commit and push to the project successfully. Easiest way to do this is to start the project small, and everyone adds one file/class/etc. BEWARE OF MERGE CONFLICTS!
  • Update your Kanban board while you do this, accordingly. If you need to create more tasks to the board, feel free to do it.

We will handle these on the lesson 8.4.2020, but I do recommend you start doing this before the lesson, already.

ONLY ONE REPOSITORY PER GROUP! You can either create one personal repository and add your group as collaborators, or create an organization inside GitHub, and have everyone from the group in that. In either case, use your personal GitHub accounts each!

Deadline for first two tasks is 7.4.2020 at 23:59.
Deadline for the last task is 14.4.2020 at 23:59.