Initial commit: LogMaster with Viewer Collector Monitor modes
This commit is contained in:
64
.gitea/workflows/ci.yaml
Normal file
64
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,64 @@
|
||||
name: LogMaster CI/CD
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
build-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Build (TypeScript compile)
|
||||
run: npx tsc -p tsconfig.server.json
|
||||
|
||||
- name: Generate sample logs
|
||||
run: node sample-logs/generate-logs.js
|
||||
|
||||
- name: Start services
|
||||
run: |
|
||||
LOG_MODE=collector PORT=8081 COLLECTOR_UDP_ENABLED=false node dist-server/server.js &
|
||||
LOG_MODE=viewer PORT=9090 REMOTE_COLLECTOR_URL=http://localhost:8081 LOG_SOURCES=sample-logs/app.log,sample-logs/nginx-access.log,sample-logs/syslog,sample-logs/archived.log.gz node dist-server/server.js &
|
||||
LOG_MODE=monitor PORT=8082 MONITOR_ENABLED=true node dist-server/server.js &
|
||||
sleep 3
|
||||
|
||||
- name: Run integration tests
|
||||
run: node run-all-tests.js
|
||||
|
||||
- name: Stop services
|
||||
if: always()
|
||||
run: pkill -f "node dist-server" || true
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-and-test
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t logmaster:latest -t logmaster:${{ github.sha }} .
|
||||
|
||||
- name: Login to Gitea Registry
|
||||
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.kgessner.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
||||
|
||||
- name: Tag and push
|
||||
run: |
|
||||
docker tag logmaster:latest git.kgessner.de/keviin/logmaster:latest
|
||||
docker tag logmaster:${{ github.sha }} git.kgessner.de/keviin/logmaster:${{ github.sha }}
|
||||
docker push git.kgessner.de/keviin/logmaster:latest
|
||||
docker push git.kgessner.de/keviin/logmaster:${{ github.sha }}
|
||||
Reference in New Issue
Block a user