Some checks failed
Build and Push Docker Image / docker (push) Failing after 5s
65 lines
1.6 KiB
YAML
65 lines
1.6 KiB
YAML
name: Build and Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- master
|
|
|
|
jobs:
|
|
docker:
|
|
runs-on: ubuntu
|
|
|
|
container:
|
|
image: docker:27-cli
|
|
|
|
steps:
|
|
- name: Install git
|
|
run: |
|
|
apk add --no-cache git
|
|
|
|
- name: Clone repository
|
|
run: |
|
|
git clone ${{ github.server_url }}/${{ github.repository }} repo
|
|
cd repo
|
|
git checkout ${{ github.sha }}
|
|
|
|
- name: Generate tags
|
|
run: |
|
|
cd repo
|
|
|
|
echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
|
echo "BUILD_DATE=$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV
|
|
|
|
- name: Set registry
|
|
run: |
|
|
REGISTRY=$(echo "${{ github.server_url }}" | sed 's|https://||')
|
|
echo "REGISTRY=$REGISTRY" >> $GITHUB_ENV
|
|
|
|
- name: Set image name
|
|
run: |
|
|
IMAGE_NAME=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')
|
|
echo "IMAGE_NAME=$IMAGE_NAME" >> $GITHUB_ENV
|
|
|
|
- name: Login to registry
|
|
run: |
|
|
echo "${{ secrets.GITEA_TOKEN }}" | docker login \
|
|
$REGISTRY \
|
|
-u "${{ github.actor }}" \
|
|
--password-stdin
|
|
|
|
- name: Build image
|
|
run: |
|
|
cd repo
|
|
|
|
docker build \
|
|
-t $REGISTRY/$IMAGE_NAME:latest \
|
|
-t $REGISTRY/$IMAGE_NAME:$SHORT_SHA \
|
|
-t $REGISTRY/$IMAGE_NAME:$BUILD_DATE \
|
|
.
|
|
|
|
- name: Push image tags
|
|
run: |
|
|
docker push $REGISTRY/$IMAGE_NAME:latest
|
|
docker push $REGISTRY/$IMAGE_NAME:$SHORT_SHA
|
|
docker push $REGISTRY/$IMAGE_NAME:$BUILD_DATE |