Ana içeriğe atla

Derle ve Yayınla

Mevcut paket @plato/pc-printer’dir.

Komut dosyaları

SenaryoEmretmekAmaç
cleannode scripts/clean.jsDerleme yapıtlarını, çıktıyı, günlükleri, zip’i ve dump.rdb’yi kaldırır.
buildesbuild src/index.ts src/scripts/*.ts --bundle --platform=node --target=node12 --outdir=distÇalışma zamanı kodunu paketler.
startnode dist/index.jsYerleşik sürücüyü başlatır.
pkgpkg dist/index.js -t node12-win-x64 -o output/plato-printer.exe --config package.jsonWindows yürütülebilir dosyası oluşturur.
bundlesürüm yükseltme, oluşturma, Redis hazırlığı, paket, zipplato-printer.zip üretir.
stressnode scripts/stress-test.jsSahte yazıcı yükleme testini çalıştırır.

Yerel Olarak Oluşturun

pnpm --filter @plato/pc-printer clean
pnpm --filter @plato/pc-printer build
pnpm --filter @plato/pc-printer start

Sürüm Zip’i Oluştur

pnpm --filter @plato/pc-printer bundle
Paket komut dosyası:
  1. src/version.ts’yi artırır.
  2. Sürücüyü dist’ye oluşturur.
  3. Yapılandırılmış Windows Redis ikili dosyasını hazırlar.
  4. output/plato-printer.exe’yi oluşturur.
  5. config.json’yi kopyalar.
  6. Caddy varlıklarını kopyalar.
  7. Sertifikaları kopyalar.
  8. redis-binaries/<redis.version>’yi kopyalar.
  9. plato-printer.zip’yi oluşturur.

Sürüm İçeriği

plato-printer.exe
config.json
assets/
  caddy/
  certs/
redis-binaries/

Sürüm oluşturma

src/version.ts şunları içerir:
export const BUILD_VERSION = 66;
Derleme sürümü GET /health tarafından döndürülür ve başlangıç ​​başlığında yazdırılır. Bu dosyayı manuel olarak düzenlemeyin; scripts/increment-version.js, pnpm bundle sırasında günceller.

Caddy Hazırlığı

Caddy 2.6.4’ye sabitlendi. Paketlemeden önce Caddy’yi assets/caddy’ye indirmek için:
pnpm --filter @plato/pc-printer exec node scripts/download-caddy.js
assets/caddy/caddy.exe mevcutsa çalışma zamanı kurulumu, Caddy’yi müşteri makinesine indirmek yerine onu kopyalayabilir.

Redis İkili Hazırlık

scripts/prepare-redis-binaries.js, config.json’yi okur ve eksikse yapılandırılmış Windows Redis sürümünü indirir. Beklenen yol:
redis-binaries/<version>/Redis-<version>-Windows-x64-msys2/redis-server.exe

Stres Testi

Stres testi sahte TCP yazıcılarını başlatır ve birçok /print isteği gönderir.
pnpm --filter @plato/pc-printer stress
Yararlı seçenekler:
node scripts/stress-test.js \
  --host http://127.0.0.1:8080 \
  --printers 5 \
  --jobs 100 \
  --base-port 9200 \
  --poll-ms 500 \
  --timeout-ms 60000
Test, tüm hedef kuyruklar boşaldığında başarılı olur.

Sürüm Kontrol Listesi

  1. config.json’nin sürüm için doğru olduğunu onaylayın.
  2. HTTPS’nin çevrimdışı çalışması gerekiyorsa Caddy varlıklarının mevcut olduğunu doğrulayın.
  3. pnpm --filter @plato/pc-printer clean’yi çalıştırın.
  4. pnpm --filter @plato/pc-printer bundle’yi çalıştırın.
  5. Yürütülebilir dosyayı output/’den çalıştırın.
  6. GET /health’yi kontrol edin.
  7. Gerçek bir deneme baskısı çalıştırın.
  8. plato-printer.zip’nin beklenen dosyaları içerdiğini doğrulayın.