Node JS
  • SetUp Node&NVM
  • Folder Structure
  • Setup NodeJS Project
  • Library
    • Awilix
    • Swagger
    • Express
    • Jest
      • Supertest
    • Prettier
    • Eslint & Tslint
      • Tslint & Prettier
      • Tslint Plugin Prettier
      • Config With Airbnb
    • Husky And Friends
    • Sentry
  • INFRASTRUCTURE
    • Docker
      • Docker image
      • Docker container
      • Docker Volume
      • Docker command
      • Docker Compose
      • Problem & Solution
    • SonarQube
      • How to use in Nodejs
    • NGinX
    • ดูเพิ่มเติม
  • Note
    • .env declare type
    • Learn Link
Powered by GitBook
On this page
  • วิธีที่ 1 แบบปกติ
  • การเรียกใช้
  • วิธีที่ 2 แบบใช้ gulp
  • Install
  • แบบใช้ token เพื่อ authen
  • แบบใช้ user pass เพื่อ authen
  • การเรียกใช้
  • Generate Token
  1. INFRASTRUCTURE
  2. SonarQube

How to use in Nodejs

วิธีที่ 1 แบบปกติ

npm install sonarqube-scanner --dev-save
touch sonar-project.properties
#sonar-project.properties
sonar.projectKey = weblinkauthenv2
sonar.projectName = weblinkauthenv2
sonar.projectVersion = 1.0.0
sonar.sources= src
sonar.tests = src/__tests__
sonar.typescript.lcov.reportPaths = coverage/lcov.info
sonar.testExecutionReportPaths = test-report.xml
sonar.host.url = http://localhost:9001
sonar.login = admin
sonar.password = 0
sonar.exclusions = /src/__tests__/**/*.*, /src/swagger/**/*.*

การเรียกใช้

npx sonar-scanner

projectKey คือ ชื่อโปรเจคจะไปแสดงในหน้า UI exclusions คือ ไม่เอาไฟล์ไหนบ้าง

วิธีที่ 2 แบบใช้ gulp

Install

npm install sonarqube-scanner --dev-save
npm install -g gulp
touch gulpfile.ts

แบบใช้ token เพื่อ authen

#gulpfile.ts
import gulp from 'gulp';
const sonarqubeScanner = require('sonarqube-scanner');

gulp.task('default', (callback) => {
  sonarqubeScanner({
     'sonar.login' : process.env.SONAR_USER,
     'sonar.password': process.env.SONAR_PASS,
     'sonar.exclusions': '/src/__tests__/**/*.*, /src/swagger/**/*.*',
     'sonar.sources' : 'src',
     'sonar.tests' : 'src/__tests__',
     'sonar.typescript.lcov.reportPaths' : 'coverage/lcov.info',
     'sonar.testExecutionReportPaths' : 'test-report.xml'
    },
  }, callback);
});

แบบใช้ user pass เพื่อ authen

#gulpfile.ts
import gulp from 'gulp';
const sonarqubeScanner = require('sonarqube-scanner');
import dotenv from 'dotenv';
dotenv.config();

gulp.task('default', (callback) => {
  sonarqubeScanner({
    serverUrl: 'http://localhost:9001',
    token: '',
    options: {
        'sonar.login' : process.env.SONAR_USER,
        'sonar.password': process.env.SONAR_PASS,
        'sonar.exclusions': '/src/__tests__/**/*.*, /src/swagger/**/*.*'
    },
  }, callback);
});

serverUrl, .host.url คือ SonarQube server ที่ติดตั้ง

token คือ token ที่ได้มาจากการ generate ของ project

การเรียกใช้

gulp default

Generate Token

PreviousSonarQubeNextNGinX

Last updated 3 years ago

Analysis Parameters | SonarQube Docs
sonar option
Logo
ผลลัพธ์
สร้าง project
ตั้ง private key
ตั้งชื่อ + Generate