Studying Time: 4 mins
On this weblog put up, we will be able to quilt the stairs of making a GitHub Container Registry, construction a picture after which importing it to the Container Registry
Making a GitHub PAT (Private Get admission to Token)
Initially What’s a GitHub PAT Token? Smartly, a GitHub Private Get admission to Token (PAT) is one of those token equipped by means of GitHub that permits you to authenticate and authorize get admission to in your GitHub account and its related assets. PATs are essentially used for programmatic get admission to to the GitHub API or when interacting with Git repositories hosted on GitHub.
From the Github internet web page, Click on to your Profile Image and choose “Settings”
From the settings web page, scroll to the ground of the web page and choose on “Developer Settings” after which “Private Get admission to Tokens” and the “Token Vintage”.
From the web page, choose “Generate New Token” in an effort to have interaction with the package deal container registry we simply want the next get admission to rights:
As soon as created save the PAT Token someplace protected, Preferably right into a Keyvault or Password Supervisor!
Now now we have a PatToken to authenticate into GitHub we will run the next code snippet
$PatToken = "<insert-github-pat-token-here>"
$PatToken | docker login ghcr.io/<username>/<repository> -u <username> --password-stdin
Now now we have authenticated to the GitHub Container Repository Carrier, We first wish to construct a picture earlier than we will push.
It’s possible you’ll recognise this Dockerfile 😏
# Outline Working Gadget for Symbol
FROM alpine:3.14
# Execute Package deal Replace and Improve
RUN apk replace
RUN apk upload --no-cache ca-certificates much less ncurses-terminfo-base krb5-libs libgcc libintl libssl1.1 libstdc++ tzdata userspace-rcu zlib icu-libs curl
RUN apk -X https://dl-cdn.alpinelinux.org/alpine/edge/primary upload --no-cache lttng-ust
# Obtain the powershell '.tar.gz' archive
RUN curl -L https://github.com/PowerShell/PowerShell/releases/obtain/v7.3.4/powershell-7.3.4-linux-alpine-x64.tar.gz -o /tmp/powershell.tar.gz
# Create the objective folder the place powershell will likely be positioned
RUN mkdir -p /decide/microsoft/powershell/7
# Increase powershell to the objective folder
RUN tar zxf /tmp/powershell.tar.gz -C /decide/microsoft/powershell/7
# Set execute permissions and create the symbolic hyperlink that issues to pwsh
RUN chmod +x /decide/microsoft/powershell/7/pwsh
RUN ln -s /decide/microsoft/powershell/7/pwsh /usr/bin/pwsh
# Get started PowerShell
ENTRYPOINT pwsh
To construct a picture which we will then push to the GitHub Container Registry we will use the next command.
docker construct -t ghcr.io/<username>/<repository>:1.0 .
Now now we have the picture created, we will push this to the GitHub Container Repository
docker push ghcr.io/<repositoty>/IMAGE_NAME:newest
So we’ve got our GitHub COnatiner Package deal, On the other hand, if we discuss with the GitHub Repo we will be able to realize that there are not any applications assigned.
This to begin with at a loss for words me, then again on investigation while you create a brand new Package deal in GitHub you wish to have to manually assign this to the repository
With the intention to get to the bottom of this we wish to return in your GitHub Profile and choose “Programs”

Make a selection the newly created package deal

after which “Attach Repository” and make a selection the repository you need to hook up with the container
As soon as the package deal has been connected to the repository you will have to be greeted with this web page.
after which in the end, once we test the repository web page once more we will see that there’s now a package deal assigned to the repository.
and so there now we have it, as a way to conclude and wrap up this put up, We’ve coated making a PAT Token, required authenticating to GitHub services and products, As soon as now we have created the PAT Token, now we have created a docker symbol with the title being the similar because the repository after which in the end driven the brand new symbol to GitHub, for use by means of different staff individuals or utilized in a GitHub Motion.