diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..c89286e --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,63 @@ +name: docker + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - + name: Check out the repo + uses: actions/checkout@v2 + + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Cache node modules NPM + uses: actions/cache@v2 + env: + cache-name: cache-node-modules-NPM + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./Inotify.Vue/package.json') }} + restore-keys: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./Inotify.Vue/package.json') }} + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + path: ./Inotify.Vue/node_modules + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./Inotify.Vue/package.json') }} + restore-keys: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./Inotify.Vue/package.json') }} + + - name: InstallNode and BuildVue + run: | + cd ./Inotify.Vue + npm install + npm run build:prod + + - + name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - + name: Docker Build & Push to Docker Hub For Service + uses: docker/build-push-action@v2 + with: + context: . + file: ./Inotify/Dockerfile + platforms: linux/amd64 + push: true + tags: ${{ secrets.DOCKERHUB_TAG }}:master + + - name: 'Report Suecss' + run: curl ${{ secrets.INOTIFY }}/Inotify/dockerBuildComplated!