41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: Docker Build
|
|
description: Build docker image
|
|
|
|
inputs:
|
|
dockerfile:
|
|
type: string
|
|
required: false
|
|
default: Dockerfile
|
|
registry:
|
|
type: string
|
|
required: false
|
|
default: ${{github.server_url}}
|
|
name:
|
|
type: string
|
|
required: false
|
|
default: ${{github.repository}}
|
|
tag:
|
|
type: string
|
|
required: false
|
|
default: ${{github.ref_name}}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Creat Image Tag
|
|
run: echo "URL=$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%% )" >> $GITHUB_ENV
|
|
shell: sh
|
|
|
|
- name: Docker Build
|
|
uses: docker://docker
|
|
with:
|
|
entrypoint: docker
|
|
args: build --pull -t "${{env.URL}}/${{inputs.name}}:${{inputs.tag}}" -f ${{inputs.dockerfile}} .
|
|
|
|
- name: Tag as Latest
|
|
if: ${{inputs.tag}} != latest && ${{github.ref_name}} == (git symbolic-ref refs/remotes/origin/HEAD --short | cut -c 7)
|
|
uses: docker://docker
|
|
with:
|
|
entrypoint: docker
|
|
args: tag "${{env.URL}}/${{inputs.name}}:${{inputs.tag}}" "${{env.URL}}/${{inputs.name}}:latest"
|