43 lines
1.0 KiB
YAML
43 lines
1.0 KiB
YAML
|
name: Build & push docker image
|
||
|
|
||
|
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:
|
||
|
runs-on: Docker
|
||
|
container:
|
||
|
image: docker
|
||
|
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"
|