Skip to content

Update docker-image.yml #7

Update docker-image.yml

Update docker-image.yml #7

Workflow file for this run

name: Docker Image CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set Image Tag
id: set-image-tag
run: echo "::set-output name=tag::$(date +%s)"
- name: Build Docker Image
run: |
docker build . --file Dockerfile --tag my-image-name:${{ steps.set-image-tag.outputs.tag }}
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Push Docker Image
run: docker push roshankumar402/my-image-name:${{ steps.set-image-tag.outputs.tag }}
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: SSH into the server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
docker pull my-image-name:${{ needs.build.outputs.set-image-tag.outputs.tag }}
docker stop my-container-name || true
docker rm my-container-name || true
docker run -d --name my-container-name -p 80:80 my-image-name:${{ needs.build.outputs.set-image-tag.outputs.tag }}