44 lines
1.3 KiB
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
|