Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
a6fb5f35b6
Migrating to self-hosted solution for cicd and deployments
Some checks failed
ci/woodpecker/push/test-and-deploy Pipeline was successful
Push to main / test (push) Has been cancelled
Push to main / build-image (push) Has been cancelled
2025-04-29 11:24:20 +02:00
5 changed files with 13542 additions and 12392 deletions

View file

@ -0,0 +1,13 @@
when:
- event: push
- event: manual
steps:
- name: test-and-deploy
image: docker.io/node:hydrogen
volumes:
- /etc/ssh:/etc/ssh
commands:
- npm ci
- npm run test:unit
- npm run deploy

View file

@ -1,10 +0,0 @@
when:
- branch: main
event: push
steps:
- name: test
image: docker.io/node:hydrogen-slim
commands:
- npm ci
- npm run test:unit

20
ecosystem.config.js Normal file
View file

@ -0,0 +1,20 @@
module.exports = {
apps: [
{
name: 'autobaan',
script: 'npm',
args: 'run start',
},
],
deploy: {
production: {
user: 'root',
host: ['autobaan'],
ref: 'origin/deploy_test',
repo: 'https://fred.collinduncan.com/collin/autobaan.git',
path: '/root/autobaan',
'post-deploy':
'npm install && GIT_COMMIT=$(git show -s --format=%h) pm2 startOrRestart ecosystem.config.js --name autobaan --update-env',
},
},
}

25713
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,90 +1,92 @@
{ {
"name": "autobaan", "name": "autobaan",
"version": "0.0.1", "version": "0.0.1",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,
"license": "UNLICENSED", "license": "UNLICENSED",
"scripts": { "scripts": {
"build": "nest build", "build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"prestart": "npm run migrations", "prestart": "npm run migrations",
"start": "nest start", "start": "nest start",
"prestart:dev": "npm run migrations", "prestart:dev": "npm run migrations",
"start:dev": "nest start --watch", "start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch", "start:debug": "nest start --debug --watch",
"start:prod": "node dist/main", "start:prod": "node dist/main",
"repl": "npm run start -- --entryFile repl", "repl": "npm run start -- --entryFile repl",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test:e2e": "jest --config ./test/jest-e2e.json", "test:e2e": "jest --config ./test/jest-e2e.json",
"test:unit": "jest --config ./test/jest-unit.json", "test:unit": "jest --config ./test/jest-unit.json",
"migrations:generate": "npx typeorm-ts-node-commonjs migration:generate -d data-source.ts database/migrations/$npm_config_name", "migrations:generate": "npx typeorm-ts-node-commonjs migration:generate -d data-source.ts database/migrations/$npm_config_name",
"migrations": "npx typeorm-ts-node-commonjs migration:run -d data-source.ts" "migrations": "npx typeorm-ts-node-commonjs migration:run -d data-source.ts",
}, "deploy": "pm2 deploy production"
"dependencies": { },
"@nestjs/bull": "^0.6.3", "dependencies": {
"@nestjs/cli": "^9.0.0", "@nestjs/bull": "^0.6.3",
"@nestjs/common": "^9.0.0", "@nestjs/cli": "^9.0.0",
"@nestjs/config": "^2.3.4", "@nestjs/common": "^9.0.0",
"@nestjs/core": "^9.0.0", "@nestjs/config": "^2.3.4",
"@nestjs/platform-express": "^9.0.0", "@nestjs/core": "^9.0.0",
"@nestjs/schedule": "^2.2.2", "@nestjs/platform-express": "^9.0.0",
"@nestjs/typeorm": "^9.0.1", "@nestjs/schedule": "^2.2.2",
"axios": "^1.5.0", "@nestjs/typeorm": "^9.0.1",
"bull": "^4.10.4", "axios": "^1.5.0",
"class-transformer": "^0.5.1", "bull": "^4.10.4",
"class-validator": "^0.14.0", "class-transformer": "^0.5.1",
"dayjs": "^1.11.7", "class-validator": "^0.14.0",
"imap": "^0.8.19", "dayjs": "^1.11.7",
"mailparser-mit": "^1.0.0", "imap": "^0.8.19",
"puppeteer": "^20.4.0", "mailparser-mit": "^1.0.0",
"reflect-metadata": "^0.1.13", "puppeteer": "^20.4.0",
"rxjs": "^7.2.0", "reflect-metadata": "^0.1.13",
"sqlite3": "^5.1.6", "rxjs": "^7.2.0",
"typeorm": "^0.3.17" "sqlite3": "^5.1.6",
}, "typeorm": "^0.3.17"
"devDependencies": { },
"@nestjs/schematics": "^9.0.0", "devDependencies": {
"@nestjs/testing": "^9.0.0", "@nestjs/schematics": "^9.0.0",
"@types/cron": "^2.0.1", "@nestjs/testing": "^9.0.0",
"@types/express": "^4.17.13", "@types/cron": "^2.0.1",
"@types/imap": "^0.8.37", "@types/express": "^4.17.13",
"@types/jest": "29.5.1", "@types/imap": "^0.8.37",
"@types/mailparser-mit": "^1.0.1", "@types/jest": "29.5.1",
"@types/node": "18.16.12", "@types/mailparser-mit": "^1.0.1",
"@types/puppeteer": "^7.0.4", "@types/node": "18.16.12",
"@types/supertest": "^2.0.11", "@types/puppeteer": "^7.0.4",
"@typescript-eslint/eslint-plugin": "^5.0.0", "@types/supertest": "^2.0.11",
"@typescript-eslint/parser": "^5.0.0", "@typescript-eslint/eslint-plugin": "^5.0.0",
"eslint": "^8.0.1", "@typescript-eslint/parser": "^5.0.0",
"eslint-config-prettier": "^8.3.0", "eslint": "^8.0.1",
"eslint-plugin-prettier": "^4.0.0", "eslint-config-prettier": "^8.3.0",
"eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-prettier": "^4.0.0",
"jest": "29.5.0", "eslint-plugin-simple-import-sort": "^10.0.0",
"prettier": "^2.3.2", "jest": "29.5.0",
"source-map-support": "^0.5.20", "pm2": "^6.0.5",
"supertest": "^6.1.3", "prettier": "^2.3.2",
"ts-jest": "29.1.0", "source-map-support": "^0.5.20",
"ts-loader": "^9.2.3", "supertest": "^6.1.3",
"ts-node": "^10.0.0", "ts-jest": "29.1.0",
"tsconfig-paths": "4.2.0", "ts-loader": "^9.2.3",
"typescript": "^5.0.0" "ts-node": "^10.0.0",
}, "tsconfig-paths": "4.2.0",
"jest": { "typescript": "^5.0.0"
"moduleFileExtensions": [ },
"js", "jest": {
"json", "moduleFileExtensions": [
"ts" "js",
], "json",
"rootDir": "test", "ts"
"testRegex": ".*\\.spec\\.ts$", ],
"transform": { "rootDir": "test",
"^.+\\.(t|j)s$": "ts-jest" "testRegex": ".*\\.spec\\.ts$",
}, "transform": {
"collectCoverageFrom": [ "^.+\\.(t|j)s$": "ts-jest"
"**/*.(t|j)s" },
], "collectCoverageFrom": [
"coverageDirectory": "../coverage", "**/*.(t|j)s"
"testEnvironment": "node" ],
} "coverageDirectory": "../coverage",
"testEnvironment": "node"
}
} }