Sunday, 28 June 2020

Print array elements on separate lines in Bash?

Try doing this :

$ printf '%s\n' "${my_array[@]}"

Create array in loop from number of arguments

You can use the += operator to append to an array.

args=()
for i in "$@"; do
    args+=("$i")
done
echo "${args[@]}"

Run bash command on jenkins pipeline

The Groovy script you provided is formatting the first line as a blank line in the resultant script. The shebang, telling the script to run with /bin/bash instead of /bin/sh, needs to be on the first line of the file or it will be ignored.

So instead, you should format your Groovy like this:

stage('Setting the variables values') {
    steps {
         bash '''#!/bin/bash
                 echo "hello world" 
         '''
    }
}

Friday, 29 May 2020

Sonar_Integration_with_Jenkins.MD

SonarQube Integration with Jenkins

Integration SonarQube server with Jenkins is necessary to store your reports. Follow below steps to enable that.

Follow this in YouTube

Prerequisites

  1. SonarQube Server Get Help here
  2. Jenkins Server Get Help here

Implementation

Login to Jenkins server and install sonarqube scanner.
# wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip
# unzip sonar-scanner-cli-3.2.0.1227-linux.zip
# mv sonar-scanner-3.2.0.1227-linux /opt/sonar_scanner 
Set SonarQube server details in sonar-scanner property file
  • Sonar properties file: /opt/sonar_scanner/conf/sonar-scanner.properties
    • sonar.host.url=http://<SONAR_SERVER_IP>:9000
Login to Jenkins GUI console and install " SonarQube scanner" plugin
  • Manage Jenkins > Manage Plugins > Avalable > SonarQube scanner
Configure SonarQube scanner home path
  • Manage Jenkins > Global Tool Configuration > SonarQube Scanner
    • Name : sonar_scanner
    • SONAR_RUNNER_HOME : /opt/sonar_scanner
Configure SonarQube server name and authentication token
  • Manage Jenkins > Configure Systems > SonarQube Servers
    • Name : SonarQube
    • ServerURL : http://<Sonarqube_server>:9000/sonar
    • Server authentication token To Get Authentication code follow below steps. Login to SonarQube server as a admin My Account > Security > Generate Token
Create a job to test SonarQube. Provide below sonar properties details in the job under build
  • Build:
    • Execute SonarQube Scanner > Analysis properties (it is mandatary).
      • sonar.projectKey=Valaxy
      • sonar.projectName=ValaxyDemo
      • sonar.projectVersion=1.0
      • sonar.sources=/var/lib/jenkins/workspace/$JOB_NAME/<PROJECT_NAME>/src
Execute job to get analysis report.

Next Step


from : https://github.com/ValaxyTech/DevOpsDemos/blob/master/SonarQube/Sonar_Integration_with_Jenkins.MD

sonarqube-docker-compose.yml

version: "3"
services:
sonarqube:
image: sonarqube
expose:
- 9000
ports:
- "127.0.0.1:9000:9000"
networks:
- sonarnet
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
db:
image: postgres
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
networks:
sonarnet:
volumes:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
sonarqube_bundled-plugins:
postgresql:
postgresql_data:

from : https://gist.github.com/Warchant/0d0f0104fe7adf3b310937d2db67b512