2023-07-28 10:27:37 -04:00
|
|
|
name: Build & push docker image
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
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
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: Build & push docker image
|
|
|
|
runs-on: Docker
|
|
|
|
container:
|
2023-07-28 10:33:56 -04:00
|
|
|
image: docker:latest
|
2023-07-28 10:27:37 -04:00
|
|
|
steps:
|
|
|
|
|
|
|
|
- name: Login to registry
|
|
|
|
run: |
|
|
|
|
REGISTRY=$([ "${{inputs.registry}}" -n ] && 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=$([ "${{inputs.tag}}" -n ] && 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"
|