Skip to content

Setup CI builds and push to docker hub #7

Setup CI builds and push to docker hub

Setup CI builds and push to docker hub #7

name: Publish Docker image
on:
push:
# TODO: Add push type for release
# Publish `master` as Docker `latest` image.
branches:
- master
- mysql
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
# steps:
# - uses: actions/checkout@v2
# Setup mysqlserver.
# See also https://docs.docker.com/docker-hub/builds/automated-testing/
jobs:
mysql57:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Shutdown existing MySQL
run: sudo service mysql stop
push_to_registries:
#- name: Push Docker image to multiple registries
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Set up MySQL
uses: cweinberger/github-actions-mysql@main
with:
version: 5.7
hostPort: 3306
containerPort: 3306
rootPassword: root
user: TestUser
password: TestPassword
database: TestDatabase
characterSet: utf8mb4
collation: utf8mb4_general_ci
sqlMode: NO_ENGINE_SUBSTITUTION
- name: Print running docker containers
run: docker ps
- name: Check out the repo
uses: actions/checkout@v3
- name: Identify git repo path
run: ls $GITHUB_WORKSPACE && ls -l /home/runner/work/
- name: Wait for mysql
run: sleep 15
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# username: curtishall
# password: ${{ secrets.DOCKER_PASSWORD }}
# - name: Extract metadata (tags, labels) for Docker
# id: meta
# uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
# with:
# images: bluecherrydvr/bluecherry
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
#working-directory: server/
context: "{{defaultContext}}:actions"
# username: curtishall
# password: ${{ secrets.DOCKER_PASSWORD }}
# file: ./server/Dockerfile
push: true
tags: bluecherrydvr/bluecherry:unstable
labels: github_ci