diff --git a/docs/individual_assignment3.html b/docs/individual_assignment3.html index 59f14e7..39d55a1 100644 --- a/docs/individual_assignment3.html +++ b/docs/individual_assignment3.html @@ -2503,93 +2503,65 @@

Individual assignment 3

-

Instructions

+

Practice building Docker images

The purpose of this assignment is to ensure that everyone gains hands-on practice on creating Docker images from Dockerfiles.

-

Submission instructions

-

In the text box provided for this assignment on Canvas, you must submit:

-
    -
  1. A link to the GitHub.com repository that you create for this assignment. -
  2. -
  3. A the link to your Docker image on DockerHub. You should name your DockerHub repository dsci310-dockerfile-practice.
  4. -

Exercise instructions

    -
  1. Create a public repository on GitHub.com repo under your personal username called dsci310-dockerfile-practice -
  2. -
  3. Add a Dockerfile to it. This Dockerfile should be based off of the rocker/rstudio:4.1.3 Docker image +
  4. Create a public repository on GitHub.com repo under your personal username called dsci310-dockerfile-practice. Select the option to create the repository with a README file.

  5. +
  6. Add a Dockerfile to it. This Dockerfile should extend the Jupyter team’s r-notebook image. In particular, the quay.io/jupyter/r-notebook:2023-11-19 image. This is the image you should refer to in the FROM statement in your Dockerfile.

  7. -
  8. Add at least one new R package to the Dockerfile using (ensure that you pin the version of the package you add). +
  9. Add a Docker RUN command so that at least two new Python or R package is installed using conda when the Docker image is built from the Dockerfile. Ensure that you pin the version of the package you add.

  10. +
  11. Build your Dockerfile and test it locally.

  12. +
  13. Add a GitHub Actions workflow to automatically:

  14. -
  15. Build your Dockerfile and test it locally.
  16. -
  17. Add a GitHub Actions workflow to automatically build the image, push it to DockerHub, -and version the image and GitHub repo when changes are pushed to the Dockerfile - +

    We recommend doing this by:

  18. -
  19. You will need to add your DockerHub username and password (naming them DOCKER_USERNAME and DOCKER_PASSWORD, respectively) -as GitHub secrets to this repository for this to work.
  20. -
  21. Here are some resources to help you create your own Github Action Workflow: +
+

(As Needed): Make sure that the GitHub Actions workflow to build and publish the Docker image +get triggered. The docker-publish.yml file can be be triggered by either

+
- pushing a commit that changes the `Dockerfile`, or
+- clicking on the Actions tab, and then click on the workflow .github/workflows/docker-publish.yml. You then should see a “Run workflow” button with a drop down menu, from that menu select “Run workflow” (this will trigger GitHub Actions to create a commit in your remote repository).
+
    +
  1. Add a LICENSE file that attributes the usage of my docker-publish.yml +file in your repository. +This means, you need to copy the LICENSE file contents from +https://github.com/ttimbers/dsci310-dockerfile-practice/blob/main/LICENSE +and include the text in your LICENSE file. +You also want to add a note in that file that this only covers the code you copied from me +(docker-publish.yml).
  2. +
+

Submission instructions

+

You will submit a PDF to Gradescope for individual assignment 3 that includes:

+
    +
  1. A link to the GitHub.com repository that you create for this assignment.
  2. +
  3. You should name your GitHub.com repository dsci310-dockerfile-practice.
  4. +
  5. A the link to your Docker image on DockerHub. You should name your DockerHub repository dsci310-dockerfile-practice.
-

(As Needed): Make sure you make at least one change to the Dockerfile once the GitHub Actions have been setup -so that you get the image automatically built and pushed to DockerHub at least once. -- You can also add a workflow_dispatch: trigger and manually trigger a workflow

-

Rubric

This assignment will be graded for completion as follows:

-
    -
  1. A Docker image named dockerfile-practice and tagged with a version exists under the student’s username on DockerHub.
  2. -
  3. The Dockerfile used to create the Docker image lives in a GitHub repository named dockerfile-practice under the student’s username.
  4. -
  5. There is evidence that a GitHub Actions workflow can successfully build a Docker image from the Dockerfile in the GitHub repository, -and publish it to DockerHub.
  6. -
  7. The Docker image version tag is in sync with the GitHub repository release tag. (Not needed – Free Point)
  8. -
  9. At least one new R package was added to the Dockerfile and the version of that package was pinned.
  10. -
@@ -2603,32 +2575,28 @@

Rubric

- - + + - - + + - - + + - - + + - - + +
100%5/5 of the criteria listed above were met.-15%There were issues with the links submitted that made it difficult to find the GitHub or DockerHub repository
75%4/5 of the criteria listed above were met.-15%The version is missing from the package that was added to the Dockerfile
50%3/5 of the criteria listed above were met.-33%No new package was added to the Dockerfile
25%2/5 of the criteria listed above were met.-33%Docker image was not built successfully by GitHub actions and published to DockerHub
0%Only 1/5 of the criteria listed above were met or the assignment was not attempted.-100%Assignment was not completed (no GitHub repository was created, or the repository is missing the Dockerfile)
-

Additional points taken off:

- -
+