diff --git a/.gitea/workflows/builder.yaml b/.gitea/workflows/builder.yaml new file mode 100644 index 0000000..dbf0848 --- /dev/null +++ b/.gitea/workflows/builder.yaml @@ -0,0 +1,16 @@ +name: CodyOps Nucleus Builder + +on: + pull_request: + branches: + - main + +jobs: + build-conteiner: + runs-on: fedora-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Make Build + run: make build + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 9ebe86e..c6418d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ FROM docker.io/library/node:22-alpine LABEL org.opencontainers.image.source https://gianet.us/codyops/nucleus -COPY . /opt -WORKDIR /opt -RUN npm run build +ENV NODE_ENV=production +COPY package.json package-lock.json /app +COPY dist/ /app/dist +WORKDIR app +RUN npm run setup CMD npm run start diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0973622 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +REGISTRY:= gianet.us/codyops +IMAGE:= nucleus + +.PHONY: init build setup + +init: + direnv allow . + +setup: + npm run setup + +build: setup + npm run build + podman build --pull=newer --tag $(REGISTRY)/$(IMAGE) . + podman push $(REGISTRY)/$(IMAGE) diff --git a/package.json b/package.json index 40851b5..7b8f971 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "description": "CodyOps Nucleus", "main": "dist/index.js", "scripts": { - "build": "npm i && npx tsc", + "setup": "npm ci", + "build": "npx tsc", "start": "node dist/main.js", "dev": "tsc-watch --noClear --onSuccess 'node ./dist/main.js'" },