Изображение images/05/01.png.
tar zxf sonar-scanner-4.0.0.1744-macosx.tar.gz -C /usr/local/
export SONAR_HOME=/usr/local/sonar-scanner-4.0.0.1744-macosx
export PATH=$PATH:$M2_HOME/bin:$SONAR_HOME/bin
git clone https://github.com/zeyangli/simple-java-maven-app.git
mvn clean package
ls -l target/ | awk '{print $NF}'
Напишите цикл for для выполнения скрипта. Выполните скрипт дважды (так как при первом анализе данные о недостатках не отображаются).
#!/bin/bash
projectName="demo-service"
scanTime=`date +%Y%m%d%H%M%S`
for((i=1;i<=10;i++))
do
sonar-scanner -Dsonar.host.url=http://xxxxxx:9000 \
-Dsonar.projectKey=${projectName}${i} \
-Dsonar.projectName=${projectName}${i} \
-Dsonar.projectVersion=${scanTime} \
-Dsonar.login=admin \
-Dsonar.password=admin \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescription="my first project!" \
-Dsonar.links.homepage=http://www.baidu.com \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports
echo "${projectName} scan success!"
done
Результат: Изображение images/05/02.png.
[root@devops ~]# mysqldump -h 127.0.0.1 -uroot -p sonar >sonar-190803.sql
Enter password:
[root@devops ~]# du -sh sonar-190803.sql
4.6M sonar-190803.sql
#Установка
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
yum install postgresql96-server postgresql96-contrib
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl start postgresql-9.6
systemctl enable postgresql-9.6
#Создание Sonar-базы данных
su - postgres
psql
create user sonarqube with password 'sonarqube';
create database sonarqube owner sonarqube;
grant all on database sonarqube to sonarqube;
\q
#Настройки удалённого доступа
vi /var/lib/pgsql/9.6/data/postgresql.conf
#listen_addresses = '*'
vi /var/lib/pgsql/9.6/data/pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
host all all 0.0.0.0/0 ident
#Установка той же версии Sonarqube
mkdir pg
unzip sonarqube-6.7.7.zip -d pg/
cp sonarqube-6.7.7/conf/sonar.properties pg/sonarqube-6.7.7/conf/sonar.properties
#Конфигурация аналогична исходной, за исключением конфигурации базы данных. Необходимо изменить на PostgreSQL.
sonar.jdbc.username=xxxx
sonar.jdbc.password=xxxx
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonarqube
#Обязательно запустить, иначе будет ошибка. Подсказка: найти информацию о версии в целевой базе данных. См. FAQ1
./sonar.sh start
#Распаковка
wget https://binaries.sonarsource.com/Distribution/mysql-migrator/mysql-migrator-1.1.0.119.zip
unzip mysql-migrator-1.1.0.119.zip && cd bin
#source.properties
sonar.jdbc.username=xxxx
sonar.jdbc.password=xxxx
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#target.properties
sonar.jdbc.username=xxxx
sonar.jdbc.password=xxxx
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonarqube
# Запуск инструмента миграции
./mysql-migrator -source source.properties -target target.properties
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier - copying table organizations ...
[main] INFO **org.sonarsource.sqdbmigrator.migrator.ContentCopier - copying table ce_activity ...**
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы ce_task_characteristics ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы ce_task_input ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы ce_scanner_context ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы user_tokens ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы webhook_deliveries ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы es_queue ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы plugins ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы project_branches ...
[main] INFO org.sonarsource.sqdbmigrator.migrator.ContentCopier — копирование таблицы analysis_properties ...
**Tables Records Seconds**
------------------------ ------- --------
organizations 1 0,1
organization_members 4 0,0
groups_users 5 0,0
rules_parameters 686 0,1
rules_profiles 18 0,0
org_qprofiles 18 0,0
default_qprofiles 9 0,1
project_qprofiles 0 0,0
qprofile_edit_users 0 0,0
qprofile_edit_groups 0 0,0
groups 2 0,0
snapshots 22 0,0
group_roles 28 0,0
rule_repositories 25 0,0
rules 2888 0,3
rules_metadata 0 0,0
events 21 0,0
quality_gates 1 0,0
quality_gate_conditions 5 0,0
properties 4 0,0
project_links 11 0,0
duplications_index 0 0,0
project_measures 3839 0,3
internal_properties 3 0,0
projects 55 0,1
manual_measures 0 0,0
active_rules 2957 0,1
notifications 0 0,0
user_roles 0 0,0
active_rule_parameters 167 0,0
users 4 0,0
metrics 145 0,0
loaded_templates 2 0,0
issues 473 0,1
issue_changes 0 0,0
permission_templates 1 0,0
perm_tpl_characteristics 0 0,0
perm_templates_users 0 0,0
perm_templates_groups 4 0,0
qprofile_changes 6543 0,3
file_sources 22 0,0
ce_queue 0 0,0
ce_activity 22 0,0
ce_task_characteristics 0 0,0
ce_task_input 0 0,0
ce_scanner_context 22 0,0
user_tokens 0 0,0
webhook_deliveries 0 0,0
es_queue 0 0,0
plugins 14 0,0
project_branches 11 0,0
analysis_properties 0 0,0
Migration successful in 2.7 seconds
#检查pg中的数据
\c sonarqube
\dt
select * from projects;
### 重启服务
#清除es索引 rm -fr data/es5
#重启服务 ./sonar.sh restart
Проектная информация
Пользовательская информация
#Поскольку сейчас sonar6.7.7 работает через jdk8, можно пока не настраивать глобальные переменные, а после обновления настроить jdk11 как глобальный.
tar zxf jdk-11_linux-x64_bin.tar.gz -C /usr/local/
### Настройка SonarQube7.9.1
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
unzip sonarqube-7.9.1.zip
cp pg/sonarqube-6.7.7/conf/sonar.properties sonarqube-7.9.1/conf/sonar.properties
# sonarqube 7.9.1 требует использования jdk11
vim ../../conf/wrapper.conf
wrapper.java.command=/usr/local/jdk-11/bin/java
### Переключение сервисов
В запросе содержится техническая информация о процессе миграции данных и обновлении программного обеспечения. Текст описывает процесс переноса данных из одной системы в другую, а также подготовку к обновлению версии программного обеспечения с указанием конкретных действий и команд. ``` cd pg/sonarqube-6.7.7/bin/linux-x86-64/ ./sonar.sh stop
Запуск новой версии:
cd sonarqube-7.9.1/bin/linux-x86-64/ ./sonar.sh start
После запуска появится ошибка, необходимо инициализировать сервис.
**Ошибка**:
!
Инициализация сервиса:
`http://119.3.228.122:9000/setup`
**Скриншоты**:
| |
|:--:|
| ! |
| !|
| !|
| !哈哈哈哈哈 升级完成了,数据未丢失 |
| !|
| !|
### Резюме
- Обновление завершено, осталось установить соответствующие плагины.
## FAQ
1. **Не удалось определить версию SonarQube целевой базы данных. Не удалось выбрать версию из schema_migrations. ОШИБКА: отношение «schema_migrations» не существует.**
Новый созданный пустой PG не может быть перенесён, для переноса необходимо использовать Sonar той же версии!
2. **Версии в исходной и целевой базе данных не совпадают: 1838 != 2804.**
При переносе базы данных обязательно обратите внимание на то, что перед переносом необходимо запустить новый Sonar той же версии!
3. **Перенос завершён, но данные отсутствуют, что делать? Я ошибся при выполнении операции?**
Необходимо сначала удалить индекс ES, а затем запустить Sonarqube, см. раздел «Переключение сервисов».
4. **Появляется сообщение «SonarQube находится на обслуживании».**
После обновления необходимо выполнить инициализацию, см. раздел «Переключение сервисов».
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )