46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
name: Push docker image
|
|
description: Build the local docker file & push to the registry
|
|
|
|
inputs:
|
|
registry:
|
|
required: false
|
|
type: string
|
|
image:
|
|
required: true
|
|
type: string
|
|
tag:
|
|
required: false
|
|
type: string
|
|
secrets:
|
|
registry_user:
|
|
required: true
|
|
type: string
|
|
registry_pass:
|
|
required: true
|
|
type: string
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
|
|
- name: Install docker
|
|
run: |
|
|
apt update && apt install curl -y
|
|
curl -fsSL https://get.docker.com | sh || echo "Success!"
|
|
|
|
- name: Login to registry
|
|
run: |
|
|
REGISTRY=$([ -n "${{inputs.registry}}" ] && echo "${{inputs.registry}}" || echo "$GITHUB_SERVER_URL")
|
|
echo "${{secrets.registry_pass}}" | docker login -u "${{secrets.registry_user}}" --password-stdin "$REGISTRY"
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Create tag
|
|
run: TAG=$([ -n "${{inputs.tag}}" ] && echo "${{inputs.tag}}" || [ "$GITHUB_REF" == "refs/heads/develop" ] && echo "latest" || echo "$GITHUB_REF_NAME" | sed -E "s/[_/]/-/g")
|
|
|
|
- name: Build image
|
|
run: docker build --no-cache -t "${{inputs.image}}:$TAG" .
|
|
|
|
- name: Push image
|
|
run: docker push "${{inputs.image}}:$TAG"
|