Build and push Docker images using GitHub Actions

This commit is contained in:
Oliver Davies 2021-07-09 21:33:03 +01:00
parent 861e604a97
commit f1a9239ffc
2 changed files with 43 additions and 0 deletions

35
.github/workflows/main.yml vendored Normal file
View file

@ -0,0 +1,35 @@
name: Main
on:
push:
branches:
- main
jobs:
deploy:
name: Build and push Docker images
runs-on: ubuntu-latest
steps:
- name: Configure PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- name: Install Workspace
run: |
curl \
--output ws \
--location https://github.com/my127/workspace/releases/download/0.1.3/ws
chmod +x ws
sudo mv ws /usr/local/bin/ws
- name: Checkout code
uses: actions/checkout@v2
- name: Build and push Docker images
run: ws docker image push $GITHUB_SHA
env:
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
# vim: sw=2 ts=2

View file

@ -2,6 +2,10 @@ workspace('oliverdavies-uk'):
description: Sculpin website for oliverdavies.uk.
attribute('docker'):
registry:
password: "= env('DOCKER_REGISTRY_PASSWORD') ?: ''"
url: ghcr.io
username: "= env('DOCKER_REGISTRY_USERNAME') ?: ''"
repository: ghcr.io/opdavies/oliverdavies-uk-web
command('disable'):
@ -35,11 +39,15 @@ command('docker image push <git_commit>'):
GIT_COMMIT_SHA: = input.argument('git_commit')
exec: |
#!bash(workspace:/)|@
echo '@("docker.registry.password")' | run docker login --username='@("docker.registry.username")' --password-stdin '@("docker.registry.url")'
ws docker image build $GIT_COMMIT_SHA
run docker push @('docker.repository'):${GIT_COMMIT_SHA}
run docker push @('docker.repository'):latest
run docker logout '@("docker.registry.url")'
command('enable'):
env:
COMPOSE_PROJECT_NAME: = @('namespace')