ci: dockerize jandapress
このコミットが含まれているのは:
コミット
8f55df8382
|
@ -0,0 +1,2 @@
|
|||
node_modules
|
||||
npm-debug.log
|
|
@ -0,0 +1,81 @@
|
|||
name: docker hub
|
||||
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the main branch
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains multiple jobs
|
||||
build_test:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: setup node
|
||||
uses: actions/setup-node@master
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
# install applicaion dependencies
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm install
|
||||
npm ci
|
||||
|
||||
# build and test the apps
|
||||
- name: build
|
||||
run: |
|
||||
npm run build
|
||||
|
||||
push_to_Docker_Hub:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
# build docker image and push to docker hub
|
||||
# only if the app build and test successfully
|
||||
needs: [build_test]
|
||||
|
||||
steps:
|
||||
- name: checkout repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: ./
|
||||
file: ./Dockerfile
|
||||
push: true
|
||||
tags: ${{ secrets.DOCKERHUB_USERNAME }}/nodejs-demo:latest
|
||||
|
||||
- name: Run the image in a container
|
||||
uses: addnab/docker-run-action@v3
|
||||
with:
|
||||
image: ${{ secrets.DOCKERHUB_USERNAME }}/nodejs-demo:latest
|
||||
run: |
|
||||
echo "runing the docker image"
|
||||
echo ${{ steps.docker_build.outputs.digest }}
|
|
@ -0,0 +1,8 @@
|
|||
FROM node:latest
|
||||
WORKDIR /srv/app
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
EXPOSE 3000
|
||||
CMD ["node", "build/src/index.js"]
|
読み込み中…
新しいイシューから参照