Установка Jenkins
Подключение EPEL-репозитария и установка java-openjdk
1 |
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm |
1 |
# yum update |
1 |
# yum update && yum upgrade# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel |
1 |
# java -version |
1 2 3 |
openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode) |
Добавление репозитария Jenkins и его установка
1 |
# yum install wget |
1 |
# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo |
1 |
# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key |
1 |
# yum install jenkins |
1 |
# systemctl start jenkins |
1 |
# systemctl enable jenkins |
Продолжаем установку через WEB-интерфейс
1 |
http://<Jenkins-server-IP-address>:8080 |
Пароль указан в файле
1 |
# cat /var/lib/jenkins/secrets/initialAdminPassword |
Просмотр логов Jenkins
1 |
# tail -f /var/log/jenkins/jenkins.log |
Источник:
https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions
Установка Maven
1 |
# cd /opt/ && wget http://mirrors.sonic.net/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz |
1 |
# tar xvzf apache-maven-*-bin.tar.gz |
1 |
# rm -f apache-maven-*-bin.tar.gz; mv apache-maven-* maven |
1 |
# nano /etc/profile.d/maven.sh |
1 |
export PATH=/opt/maven/bin:${PATH} |
1 |
# source /etc/profile.d/maven.sh |
1 |
# mvn –version |
1 2 3 4 5 |
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) Maven home: /opt/maven Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix" |
в настройках Jenkins указываем настройки Maven
1 2 3 |
Jenkins→Global Tool configuration→Maven Name: maven-demo() MAVEN_HOME: /opt/maven |
Источник:
https://www.rosehosting.com/blog/install-apache-maven-3-5-on-centos-7
Установка Nexus
1 |
# wget http://download.sonatype.com/nexus/3/latest-unix.tar.gz |
1 |
# tar xvf latest-unix.tar.gz -C /opt/ |
1 |
# ln -s /opt/nexus-*/ /opt/nexus |
1 |
# useradd -m -r -s /bin/false nexus |
1 |
# chown -R nexus:nexus /opt/nexus-* /opt/sonatype-work /opt/nexus |
1 |
# nano /opt/nexus/bin/nexus.rc |
1 |
run_as_user="nexus" |
1 |
# nano /etc/systemd/system/nexus.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit] Description=nexus service After=network.target [Service] Type=forking ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Restart=on-abort [Install] WantedBy=multi-user.target |
1 |
# systemctl daemon-reload && systemctl enable nexus |
1 |
# systemctl start nexus && systemctl status nexus |
Просмотр логов Nexus
1 |
# tail -f /opt/sonatype-work/nexus3/log/nexus.log |
WEB-интерфейс
1 |
http://<Nexus-server-ip-address>:8081 |
По умолчанию используются следующие доступы
1 2 |
Login: admin Password: admin123 |
Настройка ротации логов Nexus
1 |
# cat /etc/logrotate.d/nexus |
1 2 3 4 5 6 7 8 9 10 |
/opt/sonatype-work/nexus3/log/*.log { daily dateext copytruncate missingok rotate 3 compress delaycompress notifempty } |
Источник:
https://drmanalo.github.io/blog/2017/installing-nexus-centos7.html
https://help.sonatype.com/repomanager3/installation
Установка SonarQube
Подготовка к установке SonarQube-сервера
1 |
# nano /etc/sysctl.conf |
1 2 |
vm.max_map_count = 262144 fs.file-max = 65536 |
Увеличиваем лимиты для пользователя sonar, под которым будет запускаться SonarQube
1 |
# nano /etc/security/limits.d/99-sonarqube.conf |
1 2 |
sonar - nofile 65536 sonar - nproc 2048 |
1 |
# ulimit -n 65535 |
1 |
# ulimit -u 2048 |
Выключаем SELinux
1 |
# setenforce 0 |
1 |
# getenforce |
1 |
Permissive |
Установка MySQL 5.7
1 |
# wget http://repo.mysql.com/mysql57-community-release-el7.rpm |
1 |
# rpm -ihv mysql57-community-release-el7.rpm && yum update && yum install mysql-server |
1 |
# systemctl start mysqld; systemctl enable mysqld |
Пароль смотрим в файле
1 |
# cat /var/log/mysqld.log |
Удалим плагин по проверке пароля
1 |
# mysql -u root -p |
1 |
mysql> uninstall plugin validate_password; |
1 |
# mysql_secure_installation |
1 |
# nano /root/.my.cnf |
1 2 3 |
[client] user=root password=mypassword |
1 |
# mysql -e "CREATE DATABASE sonarqube CHARACTER SET utf8 COLLATE utf8_general_ci;" |
1 |
# mysql -e "grant all privileges on sonarqube.* to sonarqube@localhost identified by 'sonarpassword'" |
1 |
# mysql -e "flush privileges;" |
Скачиваем последнюю весрию 6 или 7-й версии SonarQube
https://sonarsource.bintray.com/Distribution/sonarqube/
Например, на момент написания статьи последня 6-я версия — 6.7.4
1 |
# cd /opt && wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.4.zip |
1 |
# rpm -qa | grep unzip || yum install unzip -y |
1 |
# unzip sonarqube-6.7.4.zip && mv sonarqube-6.7.4 sonarqube && rm -f sonarqube-6.7.4.zip |
Настраиваем конфигурационный файл SonarQube
1 |
# nano /opt/sonarqube/conf/sonar.properties |
1 2 3 4 5 6 7 |
sonar.jdbc.username=sonarqube sonar.jdbc.password=sonarpassword sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.web.host=0.0.0.0 sonar.web.port=9000 sonar.web.context= |
Создание пользователя/группы sonar
1 |
# groupadd sonar |
1 |
# useradd -g sonar -s /bin/false -m -r sonar |
1 |
# chown -R sonar:sonar /opt/sonarqube |
1 |
# nano +48 /opt/sonarqube/bin/linux-x86-64/sonar.sh |
1 |
RUN_AS_USER=sonar |
Создание UNIT-файла для SonarQube
1 |
# nano /etc/systemd/system/sonar.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=forking ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop User=sonar Group=sonar Restart=always [Install] WantedBy=multi-user.target |
1 |
# systemctl daemon-reload && systemctl start sonar |
1 |
# systemctl status sonar && systemctl enable sonar |
Аутентифицируемся в WEB-интерфейсе
1 |
http://<SonarQube-server-ip-address>:9000 |
По умолчанию используются следующие данные:
1 2 |
Login: admin Password: admin |
Источник:
https://www.vultr.com/docs/how-to-install-sonarqube-on-centos-7
https://devopscube.com/setup-and-configure-sonarqube-on-linux
https://docs.sonarqube.org/display/SONAR/Requirements
Установка sonarqube-scanner
sonarqube-scanner – это инструмент,который сканирует/анализирует код и передает результаты на SonarQube-сервер для визуализации через WEB-интерфейс SonqrQube-сервера
1 |
# cd /opt/ && wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip |
1 |
# unzip sonar-runner-dist-2.4.zip && rm -f sonar-runner-dist-2.4.zip |
1 |
# mv sonar-runner-2.4 sonar-runner |
1 |
# nano /opt/sonar-runner/conf/sonar-runner.properties |
1 |
sonar.host.url=http://localhost:9000 |
Источник:
https://www.voyalab.com/2016/10/08/installing-sonarqube-scanner/
В следующей статье рассмотрим интеграцию Jenkins,Maven,Nexus,SonarQube