mirror of
https://github.com/kytay/drone-plugins.git
synced 2026-06-04 18:33:48 +08:00
70 lines
2.3 KiB
Bash
70 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
echo "#################################"
|
|
echo "Initialising sonar-node-plugin..."
|
|
echo "#################################"
|
|
|
|
JAVA_OPTS=""
|
|
|
|
if [[ -n ${DRONE_WORKSPACE} ]]; then
|
|
echo "sonar.projectBaseDir=${DRONE_WORKSPACE}" >> /opt/${SONAR_SCANNER}/conf/sonar-scanner.properties
|
|
if [[ ! -f "/drone/src/sonar-project.properties" ]]; then
|
|
JAVA_OPTS+=" -Dsonar.projectKey=${DRONE_REPO_NAMESPACE}:${DRONE_REPO_NAME}"
|
|
JAVA_OPTS+=" -Dsonar.projectName=${DRONE_REPO}"
|
|
fi
|
|
fi
|
|
|
|
if [[ -n ${PLUGIN_SONAR_HOST} ]]; then
|
|
JAVA_OPTS+=" -Dsonar.host.url=${PLUGIN_SONAR_HOST}"
|
|
fi
|
|
|
|
if [[ -n ${PLUGIN_SONAR_TOKEN} ]]; then
|
|
JAVA_OPTS+=" -Dsonar.login=${PLUGIN_SONAR_TOKEN}"
|
|
|
|
elif [[ -n ${PLUGIN_SONAR_LOGIN} && -n ${PLUGIN_SONAR_PASSWORD} ]]; then
|
|
JAVA_OPTS+=" -Dsonar.login=${PLUGIN_SONAR_LOGIN} -Dsonar.password=${PLUGIN_SONAR_PASSWORD}"
|
|
echo "Using authentication token is encouraged for security reasons. Refer to https://docs.sonarqube.org/latest/user-guide/user-token/"
|
|
fi
|
|
|
|
if [[ -n ${PLUGIN_SONAR_LOGLEVEL} ]]; then
|
|
JAVA_OPTS+=" -Dsonar.log.level=${PLUGIN_SONAR_LOGLEVEL}"
|
|
fi
|
|
|
|
if [[ -n ${PLUGIN_SONAR_PROJECT_SETTINGS} ]]; then
|
|
JAVA_OPTS+=" -Dproject.settings=${PLUGIN_SONAR_PROJECT_SETTINGS}"
|
|
fi
|
|
|
|
# additional setup for nvm installation
|
|
touch $HOME/.bashrc
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
|
|
|
|
# bootstrap nvm
|
|
export NVM_DIR="$HOME/.nvm" && \
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" --no-use
|
|
|
|
if [[ -n ${PLUGIN_USE_NODE_VERSION} ]]; then
|
|
echo PLUGIN_USE_NODE_VERSION found!
|
|
echo Setup NODE_VERSION=${PLUGIN_USE_NODE_VERSION}
|
|
# Install and use specific node version
|
|
nvm install ${PLUGIN_USE_NODE_VERSION} && \
|
|
nvm use ${PLUGIN_USE_NODE_VERSION}
|
|
else
|
|
echo PLUGIN_USE_NODE_VERSION not found!
|
|
echo Set node to latest LTS
|
|
# Install and use current LTS version
|
|
nvm install --lts && \
|
|
nvm use --lts
|
|
fi
|
|
|
|
echo "############################################################"
|
|
echo "Initialised sonar-node-plugin - ready to perform sonar scan."
|
|
echo "############################################################"
|
|
|
|
if [[ -n ${PLUGIN_SONAR_DEBUG} && ${PLUGIN_SONAR_DEBUG} == "true" ]]; then
|
|
JAVA_OPTS+=" -X"
|
|
echo "JAVA_OPTS=${JAVA_OPTS}"
|
|
fi
|
|
|
|
sonar-scanner ${JAVA_OPTS} |