added ci/cd
This commit is contained in:
parent
28392c09e2
commit
3672e1ae8f
5 changed files with 83 additions and 1 deletions
25
.forgejo/workflows/build.yaml
Normal file
25
.forgejo/workflows/build.yaml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.cheetah.cat
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.PAT_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64
|
||||||
|
push: true
|
||||||
|
tags: git.cheetah.cat/smartpager/${{ github.event.repository.name }}:latest
|
17
Dockerfile
Normal file
17
Dockerfile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARG NODE_VERSION=23.0.0
|
||||||
|
|
||||||
|
FROM node:${NODE_VERSION}-alpine
|
||||||
|
|
||||||
|
ENV NODE_ENV production
|
||||||
|
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
COPY package.json .
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
USER node
|
||||||
|
EXPOSE 3100
|
||||||
|
|
||||||
|
CMD node index.js
|
20
compose.yaml
Normal file
20
compose.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
services:
|
||||||
|
dispatcher:
|
||||||
|
image: git.cheetah.cat/smartpager/dispatcher:latest
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
volumes:
|
||||||
|
- ../dispatcher/config.json:/usr/src/app/config.json
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
- 3001:3001
|
||||||
|
msg_wbi_dwd:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
DISPATCHER: "dispatcher:3000"
|
||||||
|
volumes:
|
||||||
|
- ./config.json:/usr/src/app/config.json
|
||||||
|
ports:
|
||||||
|
- 3100:3100
|
8
config.default.json
Normal file
8
config.default.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"alarms": [
|
||||||
|
],
|
||||||
|
"germanUmlautSupport": false
|
||||||
|
}
|
14
index.js
14
index.js
|
@ -1,4 +1,16 @@
|
||||||
const config = require('./config.json')
|
|
||||||
|
const actualConfig = require('./config.json')
|
||||||
|
const defaultConfig = require('./config.default.json')
|
||||||
|
const config = defaultConfig
|
||||||
|
Object.assign(config, actualConfig)
|
||||||
|
let dispatcherHost = "127.0.0.1:3000"
|
||||||
|
if (!!process.env.DISPATCHER) {
|
||||||
|
console.log("docker mode")
|
||||||
|
dispatcherHost = process.env.DISPATCHER
|
||||||
|
config.pager.url = `http://${ dispatcherHost }/api/message/advanced`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const axios = require('axios')
|
const axios = require('axios')
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue