{"id":26547096,"url":"https://github.com/samlopezdev/skills-publish-packages","last_synced_at":"2026-05-19T09:32:18.013Z","repository":{"id":268795629,"uuid":"905494926","full_name":"samlopezdev/skills-publish-packages","owner":"samlopezdev","description":"My clone repository","archived":false,"fork":false,"pushed_at":"2024-12-19T00:26:34.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-19T01:22:24.652Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samlopezdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-19T00:15:08.000Z","updated_at":"2024-12-19T00:26:37.000Z","dependencies_parsed_at":"2024-12-19T01:22:28.927Z","dependency_job_id":"98b9d308-1971-441c-9053-c5b3d9533050","html_url":"https://github.com/samlopezdev/skills-publish-packages","commit_stats":null,"previous_names":["samlopezdev/skills-publish-packages"],"tags_count":0,"template":false,"template_full_name":"skills/publish-packages","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samlopezdev%2Fskills-publish-packages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samlopezdev%2Fskills-publish-packages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samlopezdev%2Fskills-publish-packages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samlopezdev%2Fskills-publish-packages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samlopezdev","download_url":"https://codeload.github.com/samlopezdev/skills-publish-packages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244912800,"owners_count":20530764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-22T05:29:13.905Z","updated_at":"2026-05-19T09:32:17.968Z","avatar_url":"https://github.com/samlopezdev.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cheader\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Course header \u003e\u003e\u003e\n  Include a 1280×640 image, course title in sentence case, and a concise description in emphasis.\n  In your repository settings: enable template repository, add your 1280×640 social image, auto delete head branches.\n  Add your open source license, GitHub uses the MIT license.\n--\u003e\n\n# Publish to GitHub Packages\n\n_Use GitHub Actions to publish your project to a Docker image._\n\n\u003c/header\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Step 4 \u003e\u003e\u003e\n  Start this step by acknowledging the previous step.\n  Define terms and link to docs.github.com.\n--\u003e\n\n## Step 4: Pull your image\n\n_Now things are running! :sparkles:_\n\nWhoa, now things are running! This may take a few minutes. This might take a tiny amount of time, so grab your popcorn :popcorn: and wait for the build to finish before moving on.\n\n:cook: While we wait for the build to finish, let's take care of a few prerequisites.\n\nFor ease of use and cross-platform compatibility (Windows, Mac, and Linux), we'll focus on Docker Desktop. Not to be confused, Docker Engine is the foundation for running containers while **[Docker Desktop](https://www.docker.com/blog/how-to-check-docker-version/)** bundles Docker Engine, a GUI, and a Virtual Machine in a _single installation_.\n\n1. Install [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/#install-docker-desktop-on-windows).\n   * If you're using Mac or Linux, locate the correct install steps at the previous link via the lefthand tree menu.\n1. Open Docker Desktop and [briefly explore](https://docs.docker.com/desktop/use-desktop/).\n1. For running `docker` commands, access the command-line terminal either via Bash, Git Bash, Windows Command Prompt or PowerShell.\n\n:inbox_tray: To pull the Docker image, we need to log into Docker first.\n\nBefore we can use this Docker image, you will need to generate a [personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) that contains the following permissions:\n\n**Scopes for Personal Access Token (classic)** :coin:\n- repo (all)\n- write:packages\n- read:packages\n\n![screenshot personal access token creation page with boxes for repo (all), write:packages, and read:packages checked](https://user-images.githubusercontent.com/3250463/219254714-82bb1da5-33b1-491b-97c0-b25f51494f6a.png)\n\nWe will use this token to log in to Docker, and authenticate with the package.\n\n1. Open your terminal (Bash or Git Bash recommended).\n1. Use the following command to log in:\n   ```bash\n   docker login ghcr.io -u USERNAME\n   ```\n1. Replace `USERNAME` with your GitHub username.\n1. Enter your new Personal Access Token as the password.\n1. Press **Enter**.\n\nIf everything went well, :crossed_fingers: you should see `Login Succeeded` in your terminal.\n\n### :keyboard: Activity: Pull your image\n\n1. Copy the `pull` command from the package instructions.\n   - :fire: _Tip: To reach this page, click the **Code** tab at the top of your repository. Then, find the navigation bar below the repository description, and click the **Packages** heading link_\n     ![screenshot of the pull command on the GitHub package page](https://user-images.githubusercontent.com/3250463/219254981-9ff949fa-4d01-46e3-9e3d-b8ce3710c2a9.png)\n   - Or alternatively, in the following URL replace `YOURNAME`, `REPONAME`, and browse to `https://github.com/users/YOURNAME/packages?repo_name=REPONAME` and click on the package name\n1. Replace `YOURNAME` with your GitHub username.\n1. Replace `TAG` with the image tag.\n1. Paste the `pull` command into your terminal. It should look something like this:\n   - `docker pull ghcr.io/YOURNAME/publish-packages/game:TAG`\n1. Press **Enter**.\n1. You should see output indicating that the pull was successful, like `Status: Downloaded newer image for ghcr.io/YOURNAME/publish-packages/game:TAG`.\n   ![screenshot of successful Docker image output](https://user-images.githubusercontent.com/3250463/219255178-3c943a6f-6c15-4f59-9002-228249b1c469.png)\n1. _We can't automatically verify this step for you, so please continue on to the next step below!_\n\u003c!--\n  \u003c\u003c\u003c Author notes: Step 5 \u003e\u003e\u003e\n  Start this step by acknowledging the previous step.\n  Define terms and link to docs.github.com.\n--\u003e\n\n## Step 5: Run your image\n\n_Nicely done grabbing your Docker image! :relaxed:_\n\nLet's trying running it.\n\n### :keyboard: Activity: Run your image\n\n1. Find your image information by typing `docker image ls`.\n   ![screenshot of output from Docker image ls command: lists docker images, REPOSITORY TAG and docker URL](https://i.imgur.com/UAwRXiq.png)\u003c!-- This screenshot should be changed. --\u003e\n1. Use the following command to run a container from your image:\n   ```bash\n   docker run -dp 8080:80 --rm \u003cYOUR_IMAGE_NAME:TAG\u003e\n   ```\n1. Replace `YOUR_IMAGE_NAME` with your image name under the `REPOSITORY` column.\n1. Replace `TAG` with the image tag under the `TAG` column.\n1. Press **Enter**.\n1. If everything went well, you will see hash value as output on your screen.\n1. Optionally, you can open [localhost:8080](http://localhost:8080) to see the page you just created.\n1. _We can't automatically verify this step for you, so please continue on to the next step below!_\n\u003c!--\n  \u003c\u003c\u003c Author notes: Finish \u003e\u003e\u003e\n  Review what we learned, ask for feedback, provide next steps.\n--\u003e\n\n## Finish\n\n_Congratulations friend, you've completed this course!_\n\n\u003cimg src=https://octodex.github.com/images/collabocats.jpg alt=celebrate width=300 align=right\u003e\n\nHere's a recap of all the tasks you've accomplished in your repository:\n\n- You wrote a workflow that sends a code through a continuous delivery pipeline.\n- You built a fully deployable artifact.\n- You did so using GitHub Actions and GitHub Packages!\n\n### What's next?\n\n- Publish your own packages from your projects.\n- We'd love to hear what you thought of this course [in our discussion board](https://github.com/orgs/skills/discussions/categories/publish-packages).\n- [Take another GitHub Skills course](https://github.com/skills).\n- [Read the GitHub Getting Started docs](https://docs.github.com/en/get-started).\n- To find projects to contribute to, check out [GitHub Explore](https://github.com/explore).\n\n\u003cfooter\u003e\n\n\u003c!--\n  \u003c\u003c\u003c Author notes: Footer \u003e\u003e\u003e\n  Add a link to get support, GitHub status page, code of conduct, license link.\n--\u003e\n\n---\n\nGet help: [Post in our discussion board](https://github.com/orgs/skills/discussions/categories/publish-packages) \u0026bull; [Review the GitHub status page](https://www.githubstatus.com/)\n\n\u0026copy; 2023 GitHub \u0026bull; [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md) \u0026bull; [MIT License](https://gh.io/mit)\n\n\u003c/footer\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamlopezdev%2Fskills-publish-packages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamlopezdev%2Fskills-publish-packages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamlopezdev%2Fskills-publish-packages/lists"}