52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: Docker Push
|
|
description: Push Image to Registry
|
|
|
|
inputs:
|
|
from:
|
|
type: string
|
|
required: false
|
|
description: Re-tag an existing image
|
|
default: false
|
|
registry:
|
|
type: string
|
|
required: false
|
|
description: Docker registry FQDN
|
|
default: ${{github.server_url}}
|
|
user:
|
|
type: string
|
|
required: false
|
|
description: Docker user
|
|
default: ${{github.repository_owner}}
|
|
pass:
|
|
type: string
|
|
required: false
|
|
description: User password
|
|
default: ${{secrets.DEPLOY_TOKEN}}
|
|
name:
|
|
type: string
|
|
required: false
|
|
default: ${{github.repository}}
|
|
tag:
|
|
type: string
|
|
required: false
|
|
default: ${{github.ref_name}}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Format Registry URL
|
|
run: |
|
|
echo "URL=$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%% )" >> $GITHUB_ENV
|
|
echo "FROM=$(echo "${{inputs.from}}" | sed s%http://%% | sed s%https://%% )" >> $GITHUB_ENV
|
|
shell: sh
|
|
|
|
- name: Tag Image
|
|
run: |
|
|
[[ "${{env.FROM}}" == "false" ]] && echo "Skipping..." || docker tag "${{env.FROM}}" "${{env.URL}}/${{inputs.name}}:${{inputs.tag}}"
|
|
shell: sh
|
|
|
|
- name: Docker Login
|
|
uses: docker://docker
|
|
with:
|
|
args: /bin/sh -c "docker login -u ${{inputs.user}} -p ${{inputs.pass}} ${{env.URL}} && docker push ${{env.URL}}/${{inputs.name}}:${{inputs.tag}}"
|