skills / publish-packages

Use GitHub Actions to publish your project to a Docker image.
MIT License
161 stars 74 forks source link

[Feature]Instructions in "Step 4: Pull your image" are too unfriendly for some learners #13

Closed nshun583 closed 1 month ago

nshun583 commented 2 years ago

Is your feature request related to a problem? Please describe.

Step 4: Pull your image asks learners to do the following even before Activity part

  1. Open your terminal (Bash or Git Bash recommended)
  2. Use the following command to log in:
    docker login docker.pkg.github.com -u USERNAME -p TOKEN

    but this seems to be too unfriendly for some learners because

    • all tutorials so far in GitHub Skills starting from Introduction to GitHub to Continuous integration can be completed only in github.com from browsers so learners are not necessarily expected to be familiar working with command-line
    • this is enough for Windows environment learners to get lost in this step
    • Step 1 explains what Docker is, but does not explain how to install / prepare Docker Engine ready to be used in later steps

Describe the solution you'd like

Describe alternatives you've considered

Additional context None

mjbear commented 1 month ago

@nshun583 Step 0 doesn't stay around all that long so some of your suggestions would probably best be added to Step 1.

:dart: I'll take up the challenge and work up some content for a PR that the GitHub team can review.

Is your feature request related to a problem? Please describe.

Step 4: Pull your image asks learners to do the following even before Activity part

1. Open your terminal (Bash or Git Bash recommended)

2. Use the following command to log in:
   ```
   docker login docker.pkg.github.com -u USERNAME -p TOKEN
   ```

but this seems to be too unfriendly for some learners because

* all tutorials so far in [GitHub Skills](https://skills.github.com) starting from [Introduction to GitHub](https://github.com/skills/introduction-to-github) to [Continuous integration](https://github.com/skills/continuous-integration) can be completed only in github.com from browsers so learners are not necessarily expected to be familiar working with command-line

  * this is enough for Windows environment learners to get lost in this step

* Step 1 explains what Docker is, but does not explain how to install / prepare Docker Engine ready to be used in later steps

Describe the solution you'd like

* Add Step 0 to this tutorial course which points out external guide for

  * introductory resource to help understand command line, especially for Windows learners

In several ways this appears to become a question of the audience the course is written for.

  * installing and setting up Docker Engine for later steps

    * https://docs.docker.com/engine/install/

Linking to an official Docker install guide is the least path of friction and minimizes duplication of efforts. Plus the documentation Docker publishes should remain up-to-date.

https://docs.docker.com/desktop/install/windows-install/#install-docker-desktop-on-windows

* quick explanation regarding the difference between Docker Desktop and Docker Engine will also help learners

Agree - it would be worth touching on Desktop vs Engine. In short Desktop bundles Docker, a VM, and a GUI into one install regardless of Windows, Mac, or Linux platform.

https://docs.docker.com/desktop/ https://docs.docker.com/engine/

"To provide a consistent user experience across different operating systems, Docker Desktop uses the host systems’ native virtualization to run and manage a VM for the Docker Engine." https://www.docker.com/blog/how-to-check-docker-version/

See section near bottom titled "Side-by-side Comparison: Docker Desktop vs DIY with Docker Engine" https://www.docker.com/products/docker-desktop/alternatives/

Describe alternatives you've considered

* If aforementioned external guide addition cannot be made soon, instead prerequisite section must be at least added to the top of this course to clarify learners already be ready with basic command line operation and Docker Engine installation

  * but this does not solve the root problem of course difficulty level is too suddenly elevated compared to previous [Continuous integration](https://github.com/skills/continuous-integration)

Additional context None

mjbear commented 1 month ago

@nshun583 @hectorsector

Created PR #49