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 @@
The purpose of this assignment is to ensure that everyone gains hands-on practice on creating Docker images from Dockerfile
s.
In the text box provided for this assignment on Canvas, you must submit:
-dsci310-dockerfile-practice
.dsci310-dockerfile-practice
.dsci310-dockerfile-practice
-.gitignore
or manually create one yourselfDockerfile
to it. This Dockerfile should be based off of the rocker/rstudio:4.1.3
Docker image
+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.
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.
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.
Build your Dockerfile
and test it locally.
Add a GitHub Actions workflow to automatically:
dsci310-dockerfile-practice
into a local RStudio project then do the following steps:
-{renv}
to install a package (e.g., cowsay
) and then make sure you create a script that loads/uses the {cowsay}
package.Dockerfile
COPY
all your renv files into the containerrenv
to help you specify which functions to use to install the librariesUSER
in the Dockerfile
between rstudio
and root
to get everything working.RUN
commands directly in the Dockerfile
to install packages
-install.packages()
because you can’t pin a version number.Rscript -e "print('something to say...')"
. Make sure to change the double quotes ""
to single quotes ''
in the R code.{remotes}
package, and then use the remotes::install_version()
functionDockerfile
and test it locally.We recommend doing this by:
docker-publish.yml
instead of main.yml
).DOCKER_USERNAME
and DOCKER_PASSWORD
, respectively) as GitHub secret (Under Settings > Secrets and variables > Actions > New repository secret) to this repository for this to work.DOCKER_USERNAME
and DOCKER_PASSWORD
, respectively)
-as GitHub secrets to this repository for this to work.(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).
+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
).You will submit a PDF to Gradescope for individual assignment 3 that includes:
+dsci310-dockerfile-practice
.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
renv.lock
file and you notice it’s not updating with renv::snapshot()
,
-take a look at this FAQThis assignment will be graded for completion as follows:
-dockerfile-practice
and tagged with a version exists under the student’s username on DockerHub.dockerfile-practice
under the student’s username.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:
-