monacousa-portal/.gitea/workflows/create-and-push-image.yaml

44 lines
1.3 KiB
YAML

name: Build And Push Image
on: [push]
jobs:
docker:
runs-on: ubuntu-22.04
steps:
- name: Install Node.js
run: |
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version
npm --version
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Docker
run: |
# Check if Docker is already available
if ! command -v docker &> /dev/null; then
sudo apt-get update
sudo apt-get install -y docker.io
fi
# Verify Docker is working
docker --version
# Test Docker access (skip if already working)
docker info || echo "Docker daemon accessible via socket"
- name: Build Docker Image
run: |
docker build -t ${{ vars.REGISTRY_HOST }}/${{ vars.REGISTRY_USERNAME }}/containers/${{ vars.IMAGE_NAME }}:latest .
- name: Login to Gitea Registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USERNAME }} --password-stdin
- name: Push Docker Image
run: |
docker push ${{ vars.REGISTRY_HOST }}/${{ vars.REGISTRY_USERNAME }}/containers/${{ vars.IMAGE_NAME }}:latest