GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Jenkins Automation Server su AlmaLinux 8

Jenkins è un server di automazione gratuito e open source scritto in Java. Può essere distribuito su un singolo server o come applicazione distribuita. È una delle soluzioni open source più popolari per l'integrazione continua e la distribuzione continua di applicazioni software.

L'integrazione continua (CI) è una pratica di sviluppo software che richiede agli sviluppatori di integrare il proprio codice nel repository principale (di solito su base giornaliera) il più presto e spesso possibile al fine di rilevare errori di integrazione, creare nuove funzionalità e fornire feedback a tutti fasi del ciclo di vita del software.

Una piattaforma come Jenkins è un framework CI che può essere utilizzato online o installato localmente sul tuo computer. Ti fornisce un'interfaccia facile da usare per collaborare con i membri del tuo team su GitHub, Bitbucket o altri repository che utilizzano Git al fine di creare pipeline di integrazione continua.

La distribuzione continua (CD) è una pratica di sviluppo software che consente rilasci piccoli e frequenti di applicazioni e servizi software. È più veloce dell'approccio tradizionale, che in genere prevede un singolo rilascio di grandi dimensioni ogni sei mesi. La distribuzione continua può includere la distribuzione di nuovo codice ogni giorno, ogni ora o anche più volte all'ora. Gli intervalli di tempo più brevi consentono flessibilità in risposta ai cambiamenti nei requisiti aziendali o nella tecnologia sottostante, riducendo anche i costi e i rischi associati a lunghi periodi di tempo tra le versioni.

Una piattaforma come Jenkins è un framework CD che coordina e gestisce i diversi passaggi necessari per produrre un sistema CD. Il ruolo di Jenkins non è solo quello di creare il codice, ma anche di testarlo e distribuirlo.

Un'architettura basata su plug-in che consente di estendere le funzionalità di base di Jenkins con plug-in auto-scritti, ad es. per la gestione del codice sorgente o altre attività. I plugin disponibili sono elencati in Plugin Manager all'interno di Jenkins e possono essere installati semplicemente facendo clic su di essi.

Jenkins fornisce più di 300 plug-in per supportare la creazione, la distribuzione e l'automazione di qualsiasi tipo di progetto da zero alla produzione, inclusi Java, Javascript, PHP, Ruby, Android e altri.

Ha anche la sua API REST, quindi puoi creare i tuoi strumenti personalizzati che si integrano con Jenkins senza dover sapere come codificare o nulla sugli interni dell'architettura di Jenkins.

Sei un amministratore di sistema alla ricerca di una soluzione che ti aiuti a risparmiare tempo durante la distribuzione di piccole applicazioni sulle tue macchine. Dopo aver esaminato alcune opzioni, ti imbatti in Jenkins, che afferma di essere in grado di risolvere tutti i tuoi problemi. Ti immergi, leggi la documentazione e installi Jenkins. La documentazione ti guida attraverso il processo di installazione, ma non riesci a installarlo correttamente.

L'installazione e la configurazione dei componenti software necessari per un sistema di build completo e funzionante non è così facile come potrebbe sembrare. Ecco perché abbiamo creato questo tutorial passo passo su come installare e configurare Jenkins su AlmaLinux 8.

Prerequisiti

Per installare Jenkins su AlmaLinux 8, avrai bisogno di:

  • Un computer AlmaLinux 8 a 64 bit con una connessione Internet funzionante.
  • Accesso root al tuo server. Puoi ottenerlo seguendo questa guida.
  • Requisiti di sistema:secondo il sito Web ufficiale di Jenkins, un'installazione di base di Jenkins richiede un minimo di 2 GB di RAM. Jenkin richiede 50 GB di spazio libero su disco per l'installazione, più 1 GB di spazio libero su disco per ogni build slave che desideri aggiungere. Inoltre, avrai bisogno di un core CPU e un GB di RAM per ogni build worker simultaneo che prevedi di supportare.

Aggiornamento del sistema

Prima di iniziare con l'installazione e la configurazione di Jenkins, è necessario aggiornare il sistema all'ultima versione disponibile dei pacchetti software.

Per questo, ssh sul tuo server ed esegui il seguente comando. Il pacchetto epel-release fornisce pacchetti aggiornati dal repository di sviluppo Extras che non fanno ancora parte di una versione RHEL principale. Il repository Extras contiene pacchetti che non sono inclusi nel set di pacchetti standard di Red Hat, ma sono comunque creati per le versioni RHEL. Ciò include i language pack, il supporto per le versioni più recenti delle icone adattive e altri aggiornamenti delle funzionalità.

  • sudo dnf check-update &&sudo dnf update -y
  • sudo dnf install epel-release

Installazione di Java

Java è un linguaggio di programmazione basato su C. È considerato uno dei linguaggi di programmazione più popolari perché è stato utilizzato in molti software come Android e Google Chrome. Java è un linguaggio di programmazione multipiattaforma in grado di eseguire applicazioni autonome su entrambi i sistemi operativi Windows e Linux, oltre a MacOS, Solaris, FreeBSD e altri sistemi UNIX.

Jenkins, fondamentalmente, è un programma Java che richiede l'installazione di Java Runtime Environment (JRE) e Java Development Kit (JDK) sul tuo sistema per funzionare correttamente.

Questa demo installerà OpenJDK 11 sul sistema. OpenJDK è un'implementazione gratuita e open source della piattaforma Java, Standard Edition (Java SE). È un ambiente di sviluppo e runtime per la creazione di applicazioni, microservizi e altri sistemi server eseguiti su Java virtual machine (JVM).

OpenJDK si basa sul Java Development Kit di Oracle versione 8 con supporto per Project Jigsaw. Ciò significa che puoi eseguire Jenkins in OpenJDK 11 con Project Jigsaw senza problemi di compatibilità.

Esegui il comando seguente per installare OpenJDK 11 sul tuo sistema.

sudo dnf install java-11-openjdk -y

Una volta completata l'installazione, puoi eseguire il comando per verificare se funziona correttamente.

java -version

Vedrai il seguente output.

Installazione di Jenkins

Ora che hai installato Java, sei pronto per installare Jenkins.

Il repository di base di AlmaLinux non include nessuno dei pacchetti Jenkins, quindi per prima cosa dovrai aggiungere il repository ufficiale del suo sviluppatore. È l'unico repository autorizzato a distribuire il software in pacchetto per una specifica distribuzione supportata. In questo caso, è il repository dello sviluppatore Jenkins per Redhat e i suoi derivati.

Eseguire il comando seguente per importare la chiave Jenkins nel sistema. Questa chiave è un meccanismo di sicurezza utilizzato per convalidare l'autenticità di un pacchetto software.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Esegui il comando seguente per aggiungere il repository Jenkins al sistema.

cd /etc/yum.repos.d/ && curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo

Esegui il comando sudo dnf makecache per aggiornare la cache dei metadati di tutti i repository abilitati per assicurarti che i dati del repository del disco locale siano aggiornati. Può essere utilizzato durante l'aggiornamento/l'installazione di pacchetti o se i metadati sono stati danneggiati.

sudo dnf makecache

Esegui il comando seguente per verificare se il repository Jenkins è stato aggiunto al tuo sistema. È un modo per controllare l'elenco corrente di repository, che indica al gestore di pacchetti quali repository sono stati abilitati. In altre parole, è un modo per vedere quali repository sono attualmente tracciati da dnf.

sudo dnf repolist

Esegui il comando seguente per installare Jenkins sul tuo sistema.

dnf install -y jenkins

Al termine dell'installazione del comando, eseguire il comando seguente per avviare il servizio Jenkins.

sudo systemctl start jenkins

Esegui il comando seguente per verificare lo stato del servizio Jenkins.

sudo systemctl status jenkins

Jenkins è un servizio di integrazione continua in grado di monitorare l'esecuzione di lavori ripetuti, come la creazione di un progetto software o lavori eseguiti da cron. Il monitoraggio dello stato di Jenkins può aiutarci a sapere se stanno funzionando come previsto. Questa conoscenza può essere utile per risolvere eventuali problemi con i lavori eseguiti che non hanno esito positivo.

Vedrai il seguente output.

Configurazione del firewall

Jenkins è il tuo server di build automatizzato, aiuta con l'integrazione e la distribuzione continue per i tuoi progetti. Jenkins ha la capacità di consentire alle connessioni SSH di eseguire build e attività su nodi slave remoti. Tuttavia, dovrai configurare il firewall per consentire a Jenkins di accedere a questi server.

Sarà necessario aprire la porta 22 (SSH) e facoltativamente la porta 8080 (client Web) per consentire a Jenkins di connettersi ai server remoti su cui risiedono le applicazioni. Queste porte sono generalmente chiuse per impostazione predefinita quando si utilizzano macchine virtuali basate su cloud. Se stai configurando Jenkins sul tuo hardware, dovrai consentire queste porte attraverso il tuo firewall o router.

Esegui il comando seguente per aprire queste porte sul firewall.

sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp

Esegui il comando seguente per applicare le modifiche. Il comando sudo firewalld –reload assicura che le regole e le configurazioni attualmente in vigore vengano ricaricate se presenti. Questo può essere utile per applicare le modifiche apportate tramite gli strumenti firewall-cmd al sistema in esecuzione.

sudo firewall-cmd --reload

Infine, esegui il comando seguente per verificare se le regole sono state aggiunte correttamente.

sudo firewall-cmd --list-all

Accesso all'interfaccia utente Web Jenkins

Ora che hai il tuo server Jenkins attivo e funzionante ma vuoi accedervi nel browser web. Puoi accedere a Jenkins visitando il suo indirizzo IP sulla porta 8080.

Ad esempio, se il tuo IP è 192.168.1.100 e la porta predefinita è 8080, vai al seguente indirizzo per andare a Jenkins:192.168.1.100:8080

Quando provi ad accedere all'interfaccia utente web di Jenkins, otterrai un Sblocca Jenkins schermata che ti chiede di accedere a /var/lib/jenkins/secrets/initialAdminPassword , come mostrato di seguito. Si tratta di dati crittografati che contengono la password utilizzata per accedere alla dashboard. Memorizza la initialAdminPassword in un formato crittografato. Ciò garantisce che un utente malintenzionato che ha ottenuto l'accesso al tuo server Jenkins non disponga della password che hai utilizzato al primo accesso.

Torna al tuo terminale, dove dovresti essere ancora loggato come utente root. Immettere il seguente comando per decrittografarlo:

cat /var/lib/jenkins/secrets/initialAdminPassword

Verrà visualizzato l'output che contiene la password per l'interfaccia utente Web Jenkins.

Copia e incolla questo nel tuo editor preferito e salvalo da qualche parte sul tuo computer. Ora puoi utilizzare questa password per accedere alla tua interfaccia web Jenkins.

Nella schermata successiva, seleziona installa plug-in suggeriti . Un plugin non è altro che una directory con alcuni file al suo interno. Quando installi il plug-in, Jenkins rileva la directory e abilita le funzionalità specificate nei file.

Quando installi Jenkins per la prima volta, dovresti scegliere l'opzione per installare i plugin suggeriti. Questa opzione installa tutti i plugin necessari per una configurazione di base di Jenkins. Nessun problema, puoi sempre modificare o aggiungere altri plugin in un secondo momento nella sezione Plugin dell'interfaccia web.

In Crea primo utente amministratore schermo, fornisci il tuo nome utente, indirizzo e-mail, nome completo e password. Fai clic su Salva e continua per passare alla schermata successiva.

Nella schermata successiva, mantieni l'impostazione predefinita e fai clic su Inizia a utilizzare Jenkins

Verrai indirizzato alla dashboard di Jenkins, come mostrato di seguito. Quando hai installato Jenkins per la prima volta, probabilmente è arrivata con una pagina vuota come pagina predefinita. Puoi vederlo se guardi la fonte della pagina:non c'è niente lì.

Tuttavia, nel tempo, quando inizi ad aggiungere lavori e plug-in, la pagina si trasformerà in una dashboard che mostra informazioni visive sui tuoi progetti.

Conclusione

In questo post, hai imparato come installare e configurare un server Jenkins. Questo è solo l'inizio, tuttavia; è un ambiente di costruzione automatizzato molto prezioso che può essere sfruttato nella tua pratica quotidiana. Lascia i tuoi commenti e suggerimenti nella sezione sottostante se hai commenti o domande.


Linux
  1. Come installare Jenkins su CentOS 8

  2. Come installare Jenkins su Debian 10 (Buster)

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

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

  5. Come installare XAMPP su AlmaLinux 8

Come installare o abilitare Cockpit su AlmaLinux 8

Come installare Jenkins su AlmaLinux 8

Come installare Java su AlmaLinux 8

Come installare Tomcat e Java su CentOS 8

Come installare Chef Automation Server su Ubuntu 20.04

Come installare Jenkins su Rocky Linux 8