name: Build and Deploy to Azure on: push: branches: [main] workflow_dispatch: jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Login to Azure uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - name: Login to Azure Container Registry run: | az acr login --name ${{ secrets.ACR_NAME }} - name: Build and push Docker image run: | docker build -t ${{ secrets.ACR_NAME }}.azurecr.io/perplexityclone:${{ github.sha }} -t ${{ secrets.ACR_NAME }}.azurecr.io/perplexityclone:latest . docker push ${{ secrets.ACR_NAME }}.azurecr.io/perplexityclone:${{ github.sha }} docker push ${{ secrets.ACR_NAME }}.azurecr.io/perplexityclone:latest - name: Deploy to Azure Container Apps run: | az containerapp update \ --name perplexity-app \ --resource-group perplexity-clone-rg \ --image ${{ secrets.ACR_NAME }}.azurecr.io/perplexityclone:${{ github.sha }} - name: Show App URL run: | echo "=== DEPLOYMENT COMPLETE ===" echo "App URL:" az containerapp show --name perplexity-app --resource-group perplexity-clone-rg --query "properties.configuration.ingress.fqdn" -o tsv