GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Jenkins Automation Server con Apache su Ubuntu 18.04

Jenkins è un server di automazione derivato dal progetto Hudson. Jenkins è un'applicazione basata su server in esecuzione in un contenitore servlet Java, supporta molti sistemi software SCM (Source Control Management) tra cui Git, SVN e Mercurial. Jenkins fornisce centinaia di plugin per automatizzare il tuo progetto. Jenkins creato da Kohsuke Kawaguchi, rilasciato per la prima volta nel 2011 con licenza MIT, ed è un software gratuito.

In questo tutorial, ti mostrerò come installare l'ultima versione stabile di Jenkins su Ubuntu Server 18.04 LTS (Bionic Beaver). Eseguiremo Jenkins sul nostro nome di dominio e installeremo e configureremo Jenkins per l'esecuzione con il proxy inverso del server Web Apache.

Prerequisiti

  • Ubuntu 18.04
  • Privilegi di root

Cosa faremo?

  1. Installa Java
  2. Installa Jenkins
  3. Installa e configura Apache2 come proxy inverso per Jenkins
  4. Configura Firewall UFW
  5. Configura Jenkins
  6. Sicurezza Jenkins
  7. Test

Passaggio 1:installa Java

Jenkins è un'applicazione basata su Java, quindi è necessario installare Java OpenJDK sul server. In questo passaggio, installeremo Java 8 da un repository PPA che aggiungeremo per primo.

Installa i pacchetti software-proprietà-comuni, quindi aggiungi il repository java OpenJDK PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Ora installa Java 8 usando il comando apt.

sudo apt install openjdk-8-jdk -y

Al termine dell'installazione, controlla la versione java installata sul sistema.

java -version

E otterrai Java OpenJDK 1.8 ora installato sul sistema Ubuntu 18.04.

Nota:

  • Se disponi di più versioni java sul tuo sistema, modifica la versione java predefinita utilizzando il comando seguente.
sudo update-alternatives --config java

Passaggio 2:installa Jenkins

Jenkins fornisce un repository Ubuntu per i pacchetti di installazione e installeremo Jenkins da questo repository.

Aggiungi la chiave e il repository Jenkins al sistema con il comando seguente.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

Ora aggiorna il repository e installa Jenkins.

sudo apt update
sudo apt install jenkins -y

Al termine dell'installazione, avvia il servizio Jenkins e aggiungilo all'ora di avvio.

systemctl start jenkins
systemctl enable jenkins

Jenkins è ora attivo e funzionante sul server Ubuntu 18.04, in esecuzione sulla porta predefinita "8080". Controllalo usando netstat come di seguito.

netstat -plntu

E otterrai il risultato come di seguito.

Passaggio 3:installare e configurare Apache2 come proxy inverso per Jenkins

In questo tutorial eseguiremo Jenkins dietro un server Web Apache, configureremo Apache come proxy inverso per Jenkins.

Per prima cosa installeremo Apache e abiliteremo alcuni moduli require, quindi creeremo il file host virtuale con il nome di dominio jenkins.hakase-labs.io per Jenkins. Utilizza qui il tuo nome di dominio e sostituiscilo in tutti i file di configurazione ovunque appaia.

Installa il server web apache2 dal repository di Ubuntu.

sudo apt install apache2 -y

Al termine dell'installazione, abilita i moduli proxy e proxy_http in modo da poter configurare Apache come server frontend/proxy inverso per Jenkins.

a2enmod proxy
a2enmod proxy_http

Quindi, crea un nuovo file host virtuale per Jenkins nella directory dei siti disponibili.

cd /etc/apache2/sites-available/
vim jenkins.conf

Incolla la configurazione dell'host virtuale di seguito.

<Virtualhost *:80>
    ServerName        jenkins.hakase-labs.io
    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 ed esci, quindi attiva l'host virtuale Jenkins con il comando a2ensite.

a2ensite jenkins

Riavvia i servizi Apache e Jenkins.

systemctl restart apache2
systemctl restart jenkins

L'installazione e la configurazione di apache2 come proxy inverso per Jenkins sono state completate.

Passaggio 4:configurazione del firewall UFW

Prima di abilitare il firewall UFW sul server Ubuntu, è necessario aggiungere la porta dei servizi di base come SSH, HTTP e HTTPS.

Aggiungi servizi SSH, HTTP e HTTPS al firewall ufw.

ufw allow ssh
ufw allow http
ufw allow https

Ora avvia e abilita il firewall ufw.

ufw enable

digita 'y' e premi Invio.

Il firewall UFW è ora abilitato ed è stata aggiunta la porta HTTP.

Passaggio 5 - Configura Jenkins

Jenkins è in esecuzione sul nome di dominio "http://jenkins.hakase-labs.io". Apri il tuo browser web e digita l'URL.

Verrà visualizzata la schermata che richiede di inserire la password amministratore iniziale. Jenkins ha già generato una password, quindi dobbiamo solo mostrare e copiare i risultati nella casella della password.

Mostra la password amministratore iniziale Jenkins con il comando cat.

cat /var/lib/jenkins/secrets/initialAdminPassword

Incolla i risultati sullo schermo e fai clic su "Continua".

Ora dovremmo installare alcuni plugin in Jenkins per ottenere una buona base per un uso successivo. Scegli "Installa plugin consigliati", fai clic su di esso.

Installazioni dei plugin Jenkins in corso.

Al termine dell'installazione dei plug-in, è necessario creare una nuova password di amministratore. Digita il tuo nome utente amministratore, password, e-mail ecc. e fai clic su "Salva e continua".

Per la configurazione dell'istanza, digita il nome di dominio Jenkins "http://jenkins.hakase-labs.io" e fai clic sul pulsante "Salva e termina".

Ora fai clic sul pulsante "Inizia a utilizzare Jenkins".

E verrai reindirizzato alla dashboard dell'amministratore Jenkins.

L'installazione e la configurazione di Jenkins sono state completate correttamente

Passaggio 6 - Sicurezza Jenkins

Dalla dashboard dell'amministratore Jenkins, dobbiamo configurare le impostazioni di sicurezza standard per Jenkins, fare clic su "Gestisci Jenkins" e quindi su "Configura sicurezza globale".

Jenkins fornisce diversi metodi di autorizzazione nella sezione "Controllo accesso". Utilizzeremo la "Sicurezza basata su matrice", in modo da poter controllare tutti i privilegi degli utenti.

Aggiungi l'utente "hakase" nella casella "Utente/Gruppo" e fai clic su Aggiungi.

Assegna all'utente "hakase" tutti i privilegi selezionando tutte le opzioni e fai clic sul pulsante "Salva".

Verrai reindirizzato alla dashboard e, se è disponibile l'opzione di accesso, digita semplicemente l'utente e la password di amministratore.

Fase 7 - Test

In questa sezione, vogliamo creare un semplice lavoro per il server Jenkins. Creeremo un semplice lavoro per testare Jenkins e scoprire il carico del server con il comando in alto.

Dalla dashboard dell'amministratore Jenkins, fai clic su "Crea nuovo lavoro".

Digita il nome del lavoro. Utilizzeremo qui il "Sistema di verifica", selezionare "Progetto Freestyle" e fare clic su "OK".

Vai alla scheda "Crea". Nella "fase Aggiungi build", seleziona l'opzione "Esegui shell".

Digita il comando qui sotto nella casella.

top -b -n 1 | head -n 5

Fai clic su "Salva".

Ora sei nella pagina del lavoro del lavoro 'Sistema di verifica del progetto'. Fare clic su "Crea ora" per eseguire il lavoro di "controllo del sistema".

Dopo che il lavoro è stato eseguito, vedrai la "Cronologia build", fai clic sul primo lavoro per vedere i risultati.

Ecco i risultati del lavoro eseguito da Jenkins.

L'installazione e la configurazione dello strumento di automazione Jenkins con Apache2 come proxy inverso su Ubuntu 18.04 sono state completate correttamente.

Riferimenti

  • https://wiki.jenkins.io/
  • https://wiki.jenkins.io/Standard+Sicurezza+Impostazione
  • https://jenkins-le-guide-complet.github.io/

Ubuntu
  1. Come installare WordPress con Apache su Ubuntu 18.04

  2. Come installare Joomla con Apache su Ubuntu 18.04

  3. Come installare Laravel su Ubuntu 18.04 con Apache

  4. Come installare Jenkins su Ubuntu 18.04

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

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

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 Drupal su un server Ubuntu 20.04 con Apache