Github Action To Push Docker Image

Paulund
2 min readApr 9, 2024

Github action can be used to run tests on your applications when code has been merged in.

The next step once tests are successful is to build a docker image and push this to the repository.

This will require us to create a new workflow file that will run after the tests are successful to build and push your docker image to a repository.

First create a new file in your workflow folder .github/workflows/docker.yml and paste the following in that file.

name: Docker

on:
push:
branches: [ master ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@v2
- name: Build and push docker
uses: docker/build-push-action@v1
with:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
repository: DOCKER_REPOSITORY
tags: latest

This works by first checking out the current repository on pushed into master, by using the actions/checkout@v2 action. The next step will use the docker build and push action docker/build-push-action@v1. This requires 4 parameters the docker hub username, password, repository and tags.

In the code above you can see we’re using the secrets parameter for username and password.

username: ${{ secrets.REGISTRY_USERNAME }} 
password: ${{ secrets.REGISTRY_PASSWORD }}

To add secrets to your repository in Github is done by selecting Settings -> Secrets then create a new secret for the username and password.

Ensure your repository has a Dockerfile at the root of your project to build the image.

That’s it, now commit this file to your repository and on pushes into master, Github will build a push your docker image to the docker hub.

Originally published at https://paulund.co.uk.

--

--