Skip to content

Update CI\CD Pipeline.yml #43

Update CI\CD Pipeline.yml

Update CI\CD Pipeline.yml #43

Workflow file for this run

name: Build and Deploy
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: List files in the build context
run: ls -R /home/runner/work/IBM-Tasks/IBM-Tasks
- name: Set up minikube
uses: sagikazarmark/setup-minikube-action@v0
- name: Start Minikube
run: |
minikube start
- name: Set up Podman
run: |
sudo apt-get update
sudo apt-get install -y podman
- name: Build Docker image with Podman
run: |
podman build -t docker.io/amrhossam235/myapp:${{ github.sha }} .
- name: List Docker images
run: |
podman images
- name: Show Docker image details
run: |
podman inspect docker.io/amrhossam235/myapp:${{ github.sha }}
- name: Push Docker image to Docker Hub
run: |
echo $DOCKER_PASSWORD | podman login --username $DOCKER_USERNAME --password-stdin docker.io
podman push docker.io/amrhossam235/myapp:${{ github.sha }} docker://docker.io/amrhossam235/myapp:${{ github.sha }}
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Kubectl
run: |
sudo apt-get install -y kubectl
- name: Configure kubectl to use Minikube
run: |
kubectl config use-context minikube
- name: Deploy to Kubernetes
run: |
kubectl apply -f Deployment/deployment.yaml