Build and push Docker images using GitHub Actions
This commit is contained in:
parent
861e604a97
commit
f1a9239ffc
35
.github/workflows/main.yml
vendored
Normal file
35
.github/workflows/main.yml
vendored
Normal 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
|
|
@ -2,6 +2,10 @@ workspace('oliverdavies-uk'):
|
||||||
description: Sculpin website for oliverdavies.uk.
|
description: Sculpin website for oliverdavies.uk.
|
||||||
|
|
||||||
attribute('docker'):
|
attribute('docker'):
|
||||||
|
registry:
|
||||||
|
password: "= env('DOCKER_REGISTRY_PASSWORD') ?: ''"
|
||||||
|
url: ghcr.io
|
||||||
|
username: "= env('DOCKER_REGISTRY_USERNAME') ?: ''"
|
||||||
repository: ghcr.io/opdavies/oliverdavies-uk-web
|
repository: ghcr.io/opdavies/oliverdavies-uk-web
|
||||||
|
|
||||||
command('disable'):
|
command('disable'):
|
||||||
|
@ -35,11 +39,15 @@ command('docker image push <git_commit>'):
|
||||||
GIT_COMMIT_SHA: = input.argument('git_commit')
|
GIT_COMMIT_SHA: = input.argument('git_commit')
|
||||||
exec: |
|
exec: |
|
||||||
#!bash(workspace:/)|@
|
#!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
|
ws docker image build $GIT_COMMIT_SHA
|
||||||
|
|
||||||
run docker push @('docker.repository'):${GIT_COMMIT_SHA}
|
run docker push @('docker.repository'):${GIT_COMMIT_SHA}
|
||||||
run docker push @('docker.repository'):latest
|
run docker push @('docker.repository'):latest
|
||||||
|
|
||||||
|
run docker logout '@("docker.registry.url")'
|
||||||
|
|
||||||
command('enable'):
|
command('enable'):
|
||||||
env:
|
env:
|
||||||
COMPOSE_PROJECT_NAME: = @('namespace')
|
COMPOSE_PROJECT_NAME: = @('namespace')
|
||||||
|
|
Loading…
Reference in a new issue