GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Jenkins Automation Server con Apache su Ubuntu 20.04

Jenkins è un server di automazione gratuito e open source che aiuta gli sviluppatori a creare, testare e distribuire il loro software. Si basa su Java e fornisce oltre 1700 plugin che aiutano ad automatizzare le attività ripetitive coinvolte nel processo di sviluppo del software. Supporta più sistemi operativi come Windows, Mac OS X e Linux e può essere facilmente distribuito su più macchine.

In questo tutorial, ti mostreremo come installare Jenkins con Apache come proxy inverso su Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04.
  • Una password di root è configurata sul server.

Per iniziare

Prima di iniziare, è una buona idea aggiornare il sistema con l'ultima versione. Puoi aggiornare il tuo sistema con il seguente comando:

apt-get update -y
apt-get upgrade -y

Dopo aver aggiornato il sistema, riavvialo per implementare le modifiche.

Installa Java

Jenkins è basato su Java, quindi Java deve essere installato nel tuo sistema. Se non è installato, puoi installarlo eseguendo il seguente comando:

apt-get install openjdk-11-jdk gnupg2 -y

Una volta installato, controlla la versione installata di Java con il seguente comando:

java -version

Dovresti ottenere il seguente output:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Una volta terminato, puoi procedere al passaggio successivo.

Installa Jenkins

Per impostazione predefinita, l'ultima versione di Jenkins non è disponibile nel repository predefinito di Ubuntu 20.04. Quindi dovrai aggiungere il repository Jenkins al tuo sistema.

Innanzitutto, scarica e aggiungi la chiave GPG con il seguente comando:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -

Quindi, aggiungi il repository Jenkins all'APT con il seguente comando:

sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

Quindi, aggiorna il repository e installa l'ultima versione di Jenkins con il comando seguente:

apt-get update -y
apt-get install jenkins -y

Dopo la corretta installazione, controlla lo stato di Jenkins con il seguente comando:

systemctl status jenkins

Dovresti vedere il seguente output:

? jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sun 2020-08-09 12:50:35 UTC; 44s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2353)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Aug 09 12:50:34 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time...
Aug 09 12:50:34 ubuntu2004 jenkins[6134]: Correct java version found
Aug 09 12:50:34 ubuntu2004 jenkins[6134]:  * Starting Jenkins Automation Server jenkins
Aug 09 12:50:34 ubuntu2004 su[6180]: (to jenkins) root on none
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session closed for user jenkins
Aug 09 12:50:35 ubuntu2004 jenkins[6134]:    ...done.
Aug 09 12:50:35 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.

A questo punto Jenkins è in esecuzione e in ascolto sulla porta 8080. Puoi verificarlo con il seguente comando:

netstat -plntu | grep 8080

Dovresti vedere il seguente output:

tcp6       0      0 :::8080                 :::*                    LISTEN      6192/java  

Una volta terminato, puoi procedere al passaggio successivo.

Configura Apache come proxy inverso

Successivamente, dovrai installare e configurare Apache come proxy inverso per Jenkins. Quindi puoi accedere al Jenkins attraverso la porta 80.

Innanzitutto, installa il server web Apache con il seguente comando:

apt-get install apache2 -y

Dopo aver installato il web server Apache, abilita i moduli richiesti con il seguente comando:

a2enmod proxy
a2enmod proxy_http

Quindi, crea un file di configurazione dell'host virtuale Apache per Jenkins con il seguente comando:

nano /etc/apache2/sites-available/jenkins.conf

Aggiungi le seguenti righe:

<Virtualhost *:80>
    ServerName        jenkins.example.com
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    <Proxy http://localhost:8080/>
      Order deny,allow
      Allow from all
    </Proxy>
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/
</Virtualhost>

Salva e chiudi il file quando hai finito. Quindi, abilita il file di configurazione dell'host virtuale Apache con il seguente comando:

a2ensite jenkins

Quindi, riavvia il servizio Apache e Jenkins per applicare le modifiche:

systemctl reload apache2
systemctl restart jenkins

Ora puoi controllare lo stato del servizio Apache con il seguente comando:

systemctl status apache2

Dovresti ottenere il seguente output:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Sun 2020-08-10 12:41:30 UTC; 22min ago
  Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
 Main PID: 14417 (apache2)
    Tasks: 11 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??14417 /usr/sbin/apache2 -k start
           ??15412 /usr/sbin/apache2 -k start
           ??15413 /usr/sbin/apache2 -k start
           ??15414 /usr/sbin/apache2 -k start
           ??15416 /usr/sbin/apache2 -k start
           ??15417 /usr/sbin/apache2 -k start
           ??15418 /usr/sbin/apache2 -k start
           ??15419 /usr/sbin/apache2 -k start
           ??15420 /usr/sbin/apache2 -k start
           ??15422 /usr/sbin/apache2 -k start
           ??15429 /usr/sbin/apache2 -k start

Aug 10 12:41:29 ubuntu20.04 systemd[1]: Starting The Apache HTTP Server...

A questo punto, il server Web Apache è configurato per servire Jenkins. Ora puoi procedere al passaggio successivo.

Nota:se ti connetti a Jenkins tramite Internet, ti consigliamo di proteggere le connessioni con SSL/TLS. Per abilitare SSL tramite Let's Encrypt usando certbot per l'interfaccia web Jenkins, dai un'occhiata qui:

https://www.howtoforge.com/how-to-manage-lets-encrypt-ssl-tls-certificates-with-certbot/

Accedi all'interfaccia Web Jenkins

Ora apri il tuo browser web e digita l'URL http://jenkins.example.com. Ti verrà chiesto di inserire la password amministratore iniziale come mostrato di seguito:

Puoi vedere la password amministratore iniziale di Jenkins con il seguente comando:

cat /var/lib/jenkins/secrets/initialAdminPassword

Dovresti vedere la password Jenkins nel seguente output:

78d6b10330434b27a09590fc781c9e6d

Digita la password dall'output sopra nella schermata di accesso e fai clic su Continua pulsante. Verrai reindirizzato alla schermata di personalizzazione di Jenkins:

Seleziona l'opzione desiderata e fai clic su di essa. Dovresti vedere la schermata di installazione dei plug-in Jenkins in corso:

Una volta che tutti i plugin sono stati installati correttamente, dovresti vedere la seguente schermata:

Fornisci il tuo nome utente amministratore, password, e-mail e fai clic su Salva e continua pulsante. Dovresti vedere la seguente schermata:

Digita il tuo URL Jenkins e fai clic su Salva e termina pulsante. Dovresti vedere la seguente schermata:

Fai clic su "Inizia a utilizzare Jenkins ". Dovresti vedere la dashboard Jenkins nella schermata seguente:

Successivamente, dovrai configurare le impostazioni di sicurezza standard per Jenkins.

Nel riquadro di sinistra, fai clic su Gestisci Jenkins => Configura sicurezza globale . Dovresti vedere la seguente schermata:

Ora seleziona Sicurezza basata su matrice , aggiungi il tuo utente, concedi i privilegi completi e fai clic su Salva pulsante.

Test Jenkins

A questo punto, Jenkins è installato e configurato. è ora di creare un lavoro di esempio e testare la funzionalità Jenkins.

Nella dashboard Jenkins, fai clic su Crea nuovo lavoro pulsante. Dovresti vedere la seguente schermata:

Fornisci il nome del tuo lavoro, seleziona Progetto Freestyle e fai clic su OK pulsante. Dovresti vedere la seguente schermata:

Ora, fai clic su Crea scheda. Nel "passaggio Aggiungi build ", seleziona l'opzione "Esegui shel l" e digita"free -m " nella casella di comando. Quindi, fai clic su Salva pulsante. Dovresti vedere la seguente schermata:

Ora, fai clic su "Crea ora " nel riquadro di sinistra per eseguire il lavoro. Una volta che il lavoro è stato eseguito, dovresti vedere l'output della console dal lavoro eseguito da Jenkins nella schermata seguente:

Conclusione

Congratulazioni! hai installato con successo Jenkins con Apache sul server Ubuntu 20.04. È ora possibile utilizzare Jenkins nell'ambiente di sviluppo per accelerare il processo di sviluppo. Sentiti libero di chiedermi se hai domande.


Ubuntu
  1. Come installare WordPress con Apache su Ubuntu 18.04

  2. Come installare Jenkins Automation Server con Apache su Ubuntu 16.04

  3. Come installare Jenkins Automation Server con Nginx su CentOS 7

  4. Come installare Apache Maven su Ubuntu 20.04

  5. Come installare Apache ZooKeeper su Ubuntu 20.04

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare Apache Web Server su Ubuntu 18.04

Come installare Apache Tomcat Server su Ubuntu 22.04

Come installare Drupal su un server Ubuntu 20.04 con Apache

Come installare Jenkins su Ubuntu 18.04