Recently GitHub announced public beta availability of their Container Registry and I thought I will give it a try. So in this article I will take you through the basic setup for pushing docker images to GitHub Container Registry and do a simple CI. GitHub Container Registry is free for public images (Public repos) and for private repos, its free during the beta phase. Please keep that in mind, once the beta goes to GA charges are applicable.
The Setup 1. First we need to generate PAT token from the User Settings -> Developer Settings. The PAT token will help you to authenticate with GitHub.
read:packages write:packages delete:packages
$ export CR_PAT=YOUR_TOKEN First push to GitHub Container Registry 4. Login into GitHub Container Registry using below command in the machine $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin 5. Build the docker image and tag with following name convention # docker build -t ghcr.io/OWNER/IMAGE_NAME:VERSION .docker build -t ghcr.io/mysticrenji/react-netcore:1.0 . 6. Push the image to the registry docker push ghcr.io/mysticrenji/react-netcore:1.0 7. Once you pushed the image, it will available in the packages section in GitHub Home Page
name: CIon:push:branches: [ master ]pull_request:branches: [ master ]jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- name: Docker Pushrun: |echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdindocker build . --tag ghcr.io/mysticrenji/react-netcore:$GITHUB_SHAdocker push ghcr.io/mysticrenji/react-netcore:$GITHUB_SHA
That’s all folks. Please try it and let me know your thoughts on this. Github Repo This article has been originally taken from my blog

Renjith Ravindranathan
A DevOps engineer by profession, dad, traveler and more interestingly to tweak around stuff inside memory constrained devices during spare time.

Gineesh Madapparambath

Tan Kai Jian