release-hive-fe/.drone.yml
Beatrice Dellacà 1c82e15d28
All checks were successful
continuous-integration/drone/push Build is passing
use node 20
2025-03-09 01:31:22 +01:00

62 lines
1.8 KiB
YAML

kind: pipeline
type: docker
name: build
platform:
os: linux
arch: arm64
trigger:
branch:
- main
event:
- push
- pull_request
steps:
# Install project dependencies
- name: install
image: node:20-alpine
commands:
- npm ci
# Build the Angular project
- name: build
image: node:20-alpine
commands:
- npm run build --if-present
# Run unit tests (e.g. using Karma, Jest or your configured test runner)
# - name: test
# image: node:20-alpine
# commands:
# - npm test
# Run SonarQube code analysis
- name: code-analysis
image: openjdk:11-jre-slim
commands:
# Update package lists and install dependencies for Node.js
- apt-get update && apt-get install -y curl gnupg wget unzip
# Install Node.js (e.g., version 18) using Nodesource setup script
- curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
- apt-get install -y nodejs
# Verify Node.js is installed
- node -v
- npm -v
# Download the SonarScanner CLI zip (adjust the version as needed)
- wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-7.0.2.4839-linux-aarch64.zip -O sonar-scanner.zip
# Unzip it to /opt
- unzip sonar-scanner.zip -d /opt/
- rm sonar-scanner.zip
# Add sonar-scanner to the PATH (the folder name may vary with version)
- export PATH=/opt/sonar-scanner-7.0.2.4839-linux-aarch64/bin:$PATH
# Run the scanner
- sonar-scanner -Dsonar.projectKey=$SONAR_PROJECT_KEY -Dsonar.sources=. -Dsonar.host.url=$SONAR_INSTANCE_URL -Dsonar.token=$SONAR_LOGIN_KEY
environment:
SONAR_PROJECT_KEY:
from_secret: sonar_project_key
SONAR_INSTANCE_URL:
from_secret: sonar_instance_url
SONAR_LOGIN_KEY:
from_secret: sonar_login_key