From 234c9546c4cac4963cf0167add17dbf5eea4c7e5 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Mon, 21 Nov 2022 13:12:29 -0800 Subject: [PATCH] Add server release scripts --- package.json | 3 +++ scripts/server-build.ps1 | 15 +++++++++++++++ scripts/server-publish.ps1 | 18 ++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 scripts/server-build.ps1 create mode 100644 scripts/server-publish.ps1 diff --git a/package.json b/package.json index d47d16c13..42b0d8dbc 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "feishin", "productName": "Feishin", "description": "Feishin music server", + "version": "0.0.1-alpha1", "scripts": { "build": "concurrently \"npm run build:main\" \"npm run build:renderer\"", "build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts", @@ -19,6 +20,8 @@ "test": "jest", "prepare": "husky install", "i18next": "i18next -c src/renderer/i18n/i18next-parser.config.js", + "prod:buildserver": "pwsh -c \"./scripts/server-build.ps1\"", + "prod:publishserver": "pwsh -c \"./scripts/server-publish.ps1\"", "docker:up": "docker compose --file docker-compose.dev.yml --env-file .env.dev up --detach && docker compose --file docker-compose.dev.yml --env-file .env.dev logs -f", "docker:down": "docker compose --file docker-compose.dev.yml --env-file .env.dev down && docker image rm feishin_prisma", "docker:dbpush": "cd server && npx prisma generate && docker exec -ti feishin_server sh -c \"npx prisma generate && npx prisma db push\"", diff --git a/scripts/server-build.ps1 b/scripts/server-build.ps1 new file mode 100644 index 000000000..7683d48f0 --- /dev/null +++ b/scripts/server-build.ps1 @@ -0,0 +1,15 @@ +$repositoryRootDirectory = Join-Path -Path Get-Location -ChildPath '..' +$packageJson = Get-Content -Path (Join-Path -Path $repositoryRootDirectory -ChildPath 'package.json') | ConvertFrom-Json + +if (!packageJson.version) { + throw 'package.json does not contain a version' +} + +$version = $packageJson.version +$appName = $packageJson.name +$dockerRepo = 'jeffvictorli' + + +Write-Host "Building [${appname}:latest] & [${appName}:${version}]" + +docker build -t "${dockerRepo}/${appName}:latest" -t "${dockerRepo}/${appName}:${version}" -f "${repositoryRootDirectory}/Dockerfile" . diff --git a/scripts/server-publish.ps1 b/scripts/server-publish.ps1 new file mode 100644 index 000000000..d9ad1917e --- /dev/null +++ b/scripts/server-publish.ps1 @@ -0,0 +1,18 @@ +$repositoryRootDirectory = Join-Path -Path Get-Location -ChildPath '..' +try { + $script:packageJson = Get-Content -Path (Join-Path -Path $repositoryRootDirectory -ChildPath 'package.json') | ConvertFrom-Json +} catch { + throw 'package.json does not exist' +} + +if (!$script:packageJson.version) { + throw 'package.json does not contain a version' +} + +$version = $script:packageJson.version +$appName = $script:packageJson.name +$dockerRepo = 'jeffvictorli' + +Write-Host "Pushing [${appname}:latest] & [${appName}:${version}]" + +docker push "${dockerRepo}/${appName}" --all-tags