back

Knowlegde

Knowledge Centre

Cum să începi cu Integrarea Continuă (CI) pentru Drupal 7

by editor | 25.02.2025

Cum să începi cu Integrarea Continuă (CI) pentru Drupal 7

Integrarea Continuă (CI) ajută la automatizarea procesului de testare în dezvoltarea web Drupal 7. În timp ce comunitatea Drupal oferă numeroase resurse despre beneficiile CI, acest tutorial se concentrează pe stabilirea unei configurații complete CI pe CentOS 7. Vom parcurge configurarea Jenkins și implementarea testării de bază a site-ului Drupal.

Cerințe de sistem

Tutorialul nostru folosește CentOS 7 ca sistem de operare de bază. Să începem prin instalarea componentelor necesare.

Instalarea Java

Mai întâi, trebuie să instalăm Java, care este necesară pentru Jenkins:

yum install java -y

Instalarea Jenkins

# Adăugarea repository-ului Jenkins
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# Importarea cheii repository-ului Jenkins
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
# Instalarea și configurarea Jenkins
yum install jenkins -y
chkconfig jenkins on
service jenkins start

Configurarea Firewall-ului

Pentru CentOS 7, vom configura firewalld pentru a permite accesul Jenkins. Este recomandat să restricționați accesul la IP-uri de încredere:

# Adăugarea IP-ului de încredere la zona firewall
firewall-cmd --permanent --zone=trusted --add-source=ADRESA_IP_DE_ÎNCREDERE
# Configurarea accesului la port
firewall-cmd --zone=trusted --add-port=8080/tcp --permanent
firewall-cmd --reload
# Verificarea configurației
firewall-cmd --get-active-zones

Configurarea Bazei de Date

Instalați și configurați MariaDB:

# Instalarea MariaDB
yum install mariadb-server
service mariadb start
chkconfig mariadb on
# Securizarea instalării
/usr/bin/mysql_secure_installation

Instalarea phpMyAdmin

# Instalarea repository-ului EPEL și phpMyAdmin
yum install epel-release
yum install phpmyadmin
# Configurarea controlului de acces
nano /etc/httpd/conf.d/phpMyAdmin.conf

Actualizați configurația phpMyAdmin pentru a restricționa accesul la IP-ul dvs.:

# Înlocuiți IP_UL_DVS cu IP-ul dvs. real
Require ip IP_UL_DVS
Allow from IP_UL_DVS

Reporniți Apache pentru a aplica modificările:

systemctl restart httpd.service

PHP și Instrumente de Dezvoltare

Instalați PHP și dependențele necesare:

yum install epel-release
yum install php php-devel php-gd php-ldap php-mysql php-pear php-mcrypt \
   php-tidy php-xml php-xmlrpc php-mbstring php-snmp php-soap php-xml \
   php-common curl curl-devel perl-libwww-perl ImageMagick libxml2 \
   libxml2-devel mod_fcgid php-cli httpd-devel git

Instalarea Dependențelor de Dezvoltare

Configurați PEAR, Composer și alte instrumente:

# Instalarea PEAR și Phing
pear channel-discover pear.phing.info
pear install --alldeps phing/phing
pear install HTTP_Request2
# Instalarea Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# Instalarea Drush
pear channel-discover pear.drush.org 
pear install drush/drush

Instalarea Instrumentelor de Calitate a Codului

Configurați Coder și PHP_CodeSniffer pentru Drupal 7:

# Instalarea Coder și PHP_CodeSniffer
composer global require drupal/coder:\<8
composer global require squizlabs/PHP_CodeSniffer:\<2
# Configurarea PHP_CodeSniffer
ln -s ~/.composer/vendor/bin/phpcs /usr/local/bin
ln -s ~/.composer/vendor/bin/phpcbf /usr/local/bin
phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer
# Instalarea Drupal Coder
cd /root
wget http://ftp.drupal.org/files/projects/coder-7.x-2.4.tar.gz
tar xvf coder-7.x-2.4.tar.gz

Verificați instalarea:

phpcs --version
phpcs -i  # Ar trebui să listeze Drupal în standardele disponibile
Configurarea Proiectului Jenkins

1. Accesați Jenkins la `http://hostname:8080`
2. Configurați setările de securitate:
  - Activați securitatea
  - Configurați autorizarea bazată pe matrice de proiect
  - Creați un cont de administrator
3. Instalați plugin-urile necesare:
  - Plugin Phing
  - Plugin PHP
  - Plugin Git (GitHub sau GitLab)

Crearea Primului Proiect

1. Creați un nou proiect freestyle numit "drupaltest"
2. Configurați structura spațiului de lucru:

```bash
cd /var/lib/jenkins/workspace/drupaltest
mkdir docroot scripts make reports
chown -R jenkins:jenkins *
chmod 0755 -R *

Crearea Scripturilor de Build

Creați scriptul de verificare a sintaxei PHP (`scripts/build-syntaxcheck.xml`):

<?xml version="1.0"?>
<project name="phpsyntaxcheck" default="syntaxcheck_php"> 
   <target name="syntaxcheck_php" description="Run PHP syntax checking on the project docroot.">
       <fileset dir="../docroot" id="phpfiles">
           <include name="*.php" />
           <include name="**/*.php" />
           <include name="**/*.inc" />
           <include name="**/*.module" />
           <include name="**/*.install" />
           <include name="**/*.profile" />
           <include name="**/*.test" />
       </fileset>
       <phplint haltonfailure="true">
           <fileset refid="phpfiles" />
       </phplint>
   </target>
</project>

Creați scriptul de verificare a standardelor de codare Drupal (`scripts/build-drupalstandards.xml`):

<?xml version="1.0"?> 
<project name="phpcodesniffer" default="phpcs"> 
   <target name="phpcs"> 
       <fileset dir="../docroot" id="drupalfiles"> 
           <include name="sites/all/modules/**/*.php" />
           <include name="sites/all/modules/**/*.inc" />
           <include name="sites/all/modules/**/*.module" />
           <include name="sites/all/modules/**/*.install" />
           <include name="sites/all/themes/**/*.php" />
           <include name="sites/all/themes/**/*.inc" />
       </fileset> 
       <phpcodesniffer standard="Drupal" format="checkstyle"> 
           <fileset refid="drupalfiles" /> 
           <formatter type="checkstyle" outfile="../reports/checkstyle.xml"/> 
       </phpcodesniffer> 
   </target> 
</project>

Configurarea Build-ului Jenkins

1. Adăugați pași de build Phing:
  - Primul target: `syntaxcheck_php` cu fișierul de build `$WORKSPACE/scripts/build-syntaxcheck.xml`
  - Al doilea target: `phpcs` cu fișierul de build `$WORKSPACE/scripts/build-drupalstandards.xml`

2. Adăugați acțiune post-build:
  - Configurați calea raportului Checkstyle: `reports/checkstyle.xml`

Și apăsați BUILD! Prima dvs. testare CI ar trebui să înceapă acum! Puteți verifica rezultatele build-ului în pagina de stare a proiectului și detaliile fiecărui build pe pagina Build în Console Output.

Note Importante

  • S-ar putea să fie necesar să măriți limita de memorie PHP și timpul de execuție în php.ini pentru proiecte mai mari
  • Testați întotdeauna configurația CI într-un mediu de dezvoltare mai întâi
  • Întreținerea regulată a serverului CI este importantă pentru performanțe optime
  • Luați în considerare implementarea implementării automate în iterațiile viitoare
img
Top
  • Knowlegde
    Knowledge Centre
    Extinde validarea câmpurilor cu expresii regulate
    editor
  • Knowlegde
    Knowledge Centre
    Înțelegerea arhitecturii CMS decuplate complet vs. decuplate progresiv
    editor
  • Knowlegde
    Knowledge Centre
    AngularJS sau Angular: Înțelegerea diferențelor și luarea deciziei corecte
    editor