👷 use GitHub actions to build docker image
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
.idea
|
||||||
|
node_modules
|
||||||
|
.env
|
||||||
|
data.db-journal
|
||||||
|
.vscode
|
||||||
|
*.db
|
||||||
|
*.*~
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
name: Publish Docker image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
name:
|
||||||
|
description: 'reason'
|
||||||
|
required: false
|
||||||
|
jobs:
|
||||||
|
push_to_registries:
|
||||||
|
name: Push Docker image to multiple registries
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
packages: write
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- name: Check out the repo
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Log in to Docker Hub
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Log in to the Container registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v4
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
justsong/message-pusher
|
||||||
|
ghcr.io/${{ github.repository }}
|
||||||
|
|
||||||
|
- name: Build and push Docker images
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
FROM node:16 as builder
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
COPY . .
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
FROM node:16-alpine
|
||||||
|
WORKDIR /build
|
||||||
|
COPY --from=builder /build /build
|
||||||
|
RUN npm install sqlite3@5.0.2 # https://github.com/TryGhost/node-sqlite3/issues/1581
|
||||||
|
RUN npm install pm2 -g
|
||||||
|
EXPOSE 3000
|
||||||
|
CMD ["pm2-runtime", "app.js"]
|
||||||
Reference in New Issue
Block a user