diff --git a/.gitea/gitea-ci.yaml b/.gitea/gitea-ci.yaml new file mode 100644 index 0000000..a9e1e44 --- /dev/null +++ b/.gitea/gitea-ci.yaml @@ -0,0 +1,40 @@ +name: Build And Test +run-name: ${{ gitea.actor }} is runs ci pipeline +on: [ push ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: https://github.com/actions/checkout@v4 + - name: Use Node.js + uses: https://github.com/actions/setup-node@v3 + with: + node-version: '18.17' + - run: npm ci + - run: npm run lint + - run: npm run test + - run: npm run build:prod + env: + NODE_OPTIONS: --max_old_space_size=4096 + + publish: + runs-on: cth-ubuntu-latest + needs: build + if: gitea.ref == 'refs/heads/main' + steps: + - uses: https://github.com/actions/checkout@v4 + - name: Set up Docker Buildx + uses: https://github.com/docker/setup-buildx-action@v3 + with: + config-inline: | + [registry.":5000"] + http = true + insecure = true + - name: Build and push Docker image + uses: https://github.com/docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ":5000/:${{gitea.sha}},:5000/:latest" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e0a100f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# +# Dockerfile +# + +FROM node:alpine +WORKDIR /usr/app +RUN apk update && apk add libstdc++ && apk add build-base && apk add python3 && apk add bash && apk add git +COPY package.json . +COPY package-lock.json . +COPY src/app/public public +RUN npm ci +COPY . . +RUN npm run clean +RUN npm run build + +CMD ["npm", "run", "prod"] \ No newline at end of file