diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 71d2784..9096fbb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -13,6 +13,9 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Build and push Docker image uses: docker/build-push-action@v2 with: @@ -20,4 +23,26 @@ jobs: push: true tags: harisathwik/streamlit_app:${{ github.sha }} env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Install kubectl + run: | + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/windows/amd64/kubectl.exe" + mv kubectl.exe /usr/local/bin/kubectl + chmod +x /usr/local/bin/kubectl + + - name: Install ngrok + run: | + curl -LO https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip + unzip ngrok-stable-linux-amd64.zip + sudo mv ngrok /usr/local/bin + chmod +x /usr/local/bin/ngrok + + - name: Expose Kubernetes service with ngrok + run: ngrok authtoken ${{ secrets.NGROK_AUTH_TOKEN }} && ngrok http 80 & + + - name: Apply Kubernetes deployment + run: | + kubectl apply -f kubernetes/deployment.yaml + kubectl apply -f kubernetes/service.yaml