DevOps Artisan – Jenkins Fundamentals

Cursul DevOps Artisan – Jenkins Fundamentals începe cu o imagine de ansamblu asupra arhitecturii Jenkins și va continua cu instalarea lui Jenkins. Studenții se vor familiariza cu interfața de utilizator Jenkins, unele dintre cele mai utilizate pluginuri, și diferite tipuri de joburi. Cursul va include, de asemenea, integrarea prin e-mail, integrarea GitHub și integrarea Maven.

Toate aceste caracteristici vor fi explicate și demonstrate cu exemple detaliate în laboratorul de practică.

În contextul dezvoltării moderne de software, organizațiile urmăresc să livreze aplicații mai rapid, mai sigur și cu un nivel ridicat de calitate. Cerințele pieței impun lansări frecvente, actualizări continue și posibilitatea de a răspunde rapid la schimbările de business. Pentru a atinge aceste obiective, echipele de dezvoltare și operațiuni adoptă practici DevOps și utilizează instrumente specializate pentru automatizarea proceselor de construire, testare și livrare a aplicațiilor. Unul dintre cele mai importante astfel de instrumente este Jenkins, o platformă open-source care facilitează implementarea conceptelor de Continuous Integration (CI), Continuous Delivery (CD) și Continuous Deployment. Cursul Jenkins Fundamentals pune bazele înțelegerii acestor concepte și oferă participanților cunoștințele necesare pentru utilizarea eficientă a platformei Jenkins în proiecte software reale.

În trecut, dezvoltarea software presupunea integrarea manuală a modificărilor realizate de programatori, proces care genera frecvent conflicte între versiuni, erori greu de identificat și întârzieri în livrarea produsului final. Odată cu apariția metodologiilor Agile și DevOps, accentul s-a mutat asupra automatizării și integrării continue, astfel încât fiecare modificare de cod să fie verificată automat prin compilare, testare și analiză înainte de a fi integrată în produsul principal. Jenkins reprezintă una dintre cele mai populare soluții pentru implementarea acestor fluxuri automate, fiind utilizat de organizații din întreaga lume datorită flexibilității, comunității extinse și ecosistemului bogat de pluginuri.

Un aspect esențial al platformei Jenkins îl reprezintă capacitatea de integrare cu numeroase tehnologii și servicii utilizate în dezvoltarea software. Prin intermediul pluginurilor, Jenkins poate comunica cu sisteme de versionare precum Git și GitHub, poate executa proiecte construite cu Maven, poate trimite notificări prin e-mail și poate coordona procese complexe de construire și testare. Această flexibilitate permite adaptarea platformei la cerințele fiecărei organizații, indiferent de dimensiunea proiectului sau de tehnologiile utilizate. În plus, arhitectura bazată pe server și noduri de execuție facilitează distribuirea sarcinilor și optimizarea timpului de procesare pentru proiectele de mari dimensiuni.

Cursul Jenkins Fundamentals este conceput pentru persoanele care doresc să își dezvolte competențe în domeniul DevOps și al automatizării proceselor software. Acesta se adresează dezvoltatorilor aflați la început de carieră, inginerilor QA, Build și Release Engineers, managerilor tehnici de proiect, precum și specialiștilor DevOps interesați de implementarea soluțiilor de integrare și livrare continuă. Un avantaj important al cursului este faptul că nu impune cunoștințe tehnice avansate înainte de participare, fiind potrivit atât pentru începători, cât și pentru cei care doresc să își consolideze cunoștințele despre Jenkins și practicile CI/CD.

Parcurgerea cursului începe cu prezentarea fundamentelor culturii DevOps și a conceptelor de Continuous Integration, Continuous Delivery și Continuous Deployment. Participanții înțeleg diferențele dintre aceste procese și rolul fiecăruia în ciclul de viață al dezvoltării software. Ulterior, sunt introduse noțiunile de bază despre Jenkins, arhitectura platformei și terminologia specifică, oferind o imagine de ansamblu asupra modului în care sunt organizate și executate procesele automate. Aceste cunoștințe teoretice sunt completate prin demonstrații și laboratoare practice care facilitează înțelegerea modului de funcționare al platformei.

O componentă importantă a cursului este instalarea și configurarea serverului Jenkins. Participanții învață să instaleze aplicația, să configureze mediul de lucru și să utilizeze interfața grafică pentru administrarea sistemului. Sunt prezentate principalele meniuri ale aplicației, modul de gestionare a pluginurilor, configurarea credentialelor și administrarea instrumentelor globale utilizate în procesele de construire și testare. Familiarizarea cu aceste elemente constituie baza pentru administrarea eficientă a unei instanțe Jenkins și pentru dezvoltarea ulterioară a unor fluxuri automate complexe.

Pe măsură ce cursul avansează, accentul se mută asupra creării și administrării joburilor Jenkins. Participanții învață să creeze primele joburi automate, să definească acțiuni post-execuție și să stabilească relații între diferite procese automate. De asemenea, sunt prezentate conceptele de variabile de mediu și joburi parametrizate, care permit personalizarea execuției în funcție de diferite scenarii și necesități. Aceste funcționalități sporesc flexibilitatea proceselor automatizate și facilitează reutilizarea configurațiilor existente în cadrul mai multor proiecte software.

Un alt obiectiv important al cursului îl reprezintă înțelegerea pipeline-urilor Jenkins. Acestea permit descrierea întregului proces de construire, testare și livrare sub forma unui script, oferind transparență, reproductibilitate și posibilitatea gestionării infrastructurii ca și cod. Participanții descoperă modul de creare a unui Jenkins Pipeline, utilizarea sintaxei dedicate și implementarea execuțiilor paralele pentru reducerea timpului necesar construirii aplicațiilor. Totodată, cursul prezintă integrarea cu Maven pentru automatizarea proceselor de compilare și testare, precum și arhivarea rezultatelor obținute în urma execuției pipeline-urilor.

Pe lângă automatizarea proceselor de construire și testare, cursul acordă atenție și monitorizării execuțiilor prin notificări automate. Participanții configurează integrarea Jenkins cu servicii de e-mail, învață să personalizeze mesajele transmise și să stabilească destinatarii notificărilor pentru diferite evenimente generate în timpul rulării joburilor. În plus, sunt prezentate modalități de extindere a infrastructurii Jenkins prin adăugarea de noduri suplimentare, ceea ce permite distribuirea sarcinilor și îmbunătățirea performanței în proiectele complexe.

Prin combinarea explicațiilor teoretice cu numeroase exerciții practice, cursul Jenkins Fundamentals oferă participanților o perspectivă completă asupra modului în care poate fi implementată automatizarea în dezvoltarea software. La finalul programului, aceștia dobândesc competențele necesare pentru instalarea, configurarea și administrarea unui server Jenkins, dezvoltarea de joburi și pipeline-uri, integrarea cu sisteme de versionare și instrumente de construire, precum și implementarea unor fluxuri CI/CD adaptate cerințelor organizațiilor moderne. Astfel, cursul reprezintă un punct de plecare solid pentru orice specialist care dorește să activeze în domeniul DevOps și să contribuie la dezvoltarea unor procese software eficiente, scalabile și fiabile.

Cui i se adresează?

Acest curs se adresează:

  • tuturor celor care doresc să învețe Jenkins și tuturor celor care sunt interesați să își dezvolte abilitățile necesare pentru a putea desfășura un rol de entry-level în Jenkins.
  • Beginner and intermediate Developers
  • QA Engineers
  • Build and Release Engineers
  • Technical Project Managers
  • DevOps Engineers

Ce vei învăța?

La finalul acestui curs, studenții vor avea cunoștințe solide despre caracteristicile Jenkins Fundamentals. Aceștia vor avea cunoștințe despre cum să automatizeze procesele de development software, cu integrări continue și vor ști cum să faciliteze aspecte tehnice pentru livrare continuă.

Cerințe preliminare:

Pentru a participa în cadrul acestui curs, nu sunt necesare cunoștințe suplimentare.

Agenda cursului:

Materialele de curs sunt în limba Engleză. Predarea se face în limba Română.

Module 1: Continuous Integration, Delivery and Deployment
  • DevOps Culture
  • DevOps Tools overview
  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment
  • Delivery vs. Deployment
Module 2: Introduction to Jenkins
  • What is Jenkins?
  • Why Jenkins?
  • Key aspects of Jenkins
Module 3: Jenkins architecture
  • Jenkins architecture
  • Jenkins Terminology
Module 4: Installing Jenkins
  • Prerequisites
  • Installation steps

                Hands-on Lab: Installing Jenkins on the assigned machines.

Module 5: Overview of the Jenkins UI
  • Main menu explained
  • New item menu
  • People menu
  • Build history menu
  • Manage Jenkins menu
  • My Views menu
  • Job Status and job store

Demo: Walkthrough the different menus and UI elements of Jenkins. Learn what different icons mean and where you should go when searching for various information.

Module 6: Jenkins server configuration
  • Manage Plugins
  • Configure Credentials
  • Configure System
  • System Information
  • Global Tool Configuration

Demo: Installing new plugins and checking what plugins are already installed on the server. Learn where you can find the various configuration options for those plugins.

Module 7: Creating your first Job
  • Jenkins job Terminology
  • Your first Jenkins job walkthrough
  • Post-build actions
  • Build other projects

Hands-on Lab: Creating Jobs in Jenkins. Use Jenkins to create a set of simple tasks that the server should be able to execute. Learn how different jobs can trigger the execution of other jobs and what kind of information does Jenkins expose for each task that has been executed.

Module 8: Environmental variables
  • What is an environment variable?
  • Environment variable types
  • Access the value of a variable
  • Local vs. Global
Module 9: Parameterized jobs
  • What are Parameterized jobs?
  • Create simple Parameter
  • POST Method
  • Trigger other build with parameters

Hands-on Lab: Parameterized Jobs. Learn how to use parameters for your Jenkins jobs and also make use of the available environment variables. Customize the type of the parameters and create dynamic ones by making use of available plugins and scripting. Pass parameters to other Jenkins jobs programmatically.

Module 10: Email integration for notification
  • E-mail Service Configuration
  • E-mail Notifier
  • E-mail extension Plugin

Demo: Integrate Jenkins with Gmail services. Short introduction to the types of configurations needed to configure an email server with your Jenkins server. These steps can be used to integrate any emailing service. Customize the contents of the email and the targeted recipients.

Module 11: GitHub integration as Version Control tool (+Lab)
  • Version Control System
  • GitHub
  • VCS Workflow
  • Key benefits of VCS
  • Jenkins with GitHub
  • Pre-requirements for GitHub Integration

Hands-on Lab: Given a git repository that has webhooks registered (GitHub will be used because these are preconfigured), learn how Jenkins can clone the contents of that repository in a workspace and use the files located there to complete one of its tasks. Jenkins can also execute certain actions, such as auto building a job on a git push, based on the webhooks that are configured on the repository.

Module 12: Generating jobs using scripts (+Lab)
  • What is a seed job?
  • Create and configure seed jobs
  • GitHub and seed jobs

Hands-on Lab: Make use of DSL scripts (part of a Jenkins plugin) to programmatically generate Jenkins jobs. Run the scripts from a remote location by using a service such as Git. Understand how this functionality can allow you to create and administrate a very large number of jobs at the same time through the power of scripts.

Module 13: Parallel Builds using pipelines
  • What is a Pipeline Job?
  • How to write a Pipeline Script

Hands-on Lab: Creating pipelines in Jenkins. Isolate build steps of a more complex task that you want to execute. Use the built in Pipeline Syntax tool to generate a pipeline script. Dispatch and execute only parts of your pipeline on other nodes or in parallel to further optimize the time spent executing the job. Learn how the logs exposed by Jenkins in pipelines can improve the way you debug the failure of a task.

Module 15: Using Maven as a build tool
  • What is Maven?
  • How Maven works
  • Prerequisites for Maven Integration
  • Creating a Maven Project
  • Creating a pipeline that includes Maven
Module 16: Define building and testing steps

Demo: Creating a simple pipeline that takes a Maven project and creates and tests a build.

Module 17: Create a complete pipeline that tests a build and stores if for deployment

Hands-on Lab: Creating a pipeline that creates and archives a build of an application. Maven will be used as a build tool and the project is located on a remote Git repository. Combine all the accumulated knowledge into one complex task.

Module 18: Adding slave nodes
  • What is a Slave node and why use it?
  • How to create a Slave node

Hands-on Lab: Expand the Jenkins architecture by adding new nodes. Create a connection between the Jenkins master server and the newly created node. Learn how different machines communicate with each other and what are the prerequisites when thinking of creating a new machine.

Recomandăm să continui cu:

Programe de certificare

Acest curs îi pregătește pe studenți pentru susținerea examenului de certificare pentru a obține rolul Associate DevOps Release Engineer.

DevOps Artisan – Jenkins Fundamentals

DevOps Artisan - Jenkins Fundamentals

Oferte personalizate pentru grupuri de minim 2 persoane

Detalii curs

Durată:

2
zile

Preț:

840 EUR

Livrare:

Clasă virtuală

Nivel:

5. Specialized

Roluri:

Developer, Devops Engineer, DevOps Team, Programmer, Systems Engineer

FAQ training DevOps Artisan - Jenkins Fundamentals

Ce este Jenkins și de ce este atât de utilizat?

Jenkins este una dintre cele mai populare platforme open-source pentru automatizarea proceselor de dezvoltare software. Este utilizat de echipele DevOps și de dezvoltatori pentru a automatiza activități repetitive, precum compilarea aplicațiilor, rularea testelor și livrarea codului, contribuind la creșterea eficienței și reducerea timpului necesar lansării noilor versiuni.

De ce este automatizarea importantă în dezvoltarea software?

Automatizarea ajută echipele să reducă erorile generate de procesele manuale, să accelereze ciclul de dezvoltare și să livreze aplicații mai rapid și mai sigur. În contextul dezvoltării moderne, automatizarea este un element esențial pentru creșterea productivității și menținerea unei calități constante a produselor software.

În ce domenii este utilizat Jenkins?

Jenkins este utilizat în dezvoltarea aplicațiilor web, mobile, enterprise și cloud, precum și în proiecte DevOps, microservicii și infrastructură modernă. Platforma este folosită de organizații din domenii precum IT, telecomunicații, servicii financiare, retail, producție și sănătate pentru automatizarea proceselor de dezvoltare și livrare software.

Cum mă poate ajuta acest curs în dezvoltarea profesională?

Dobândirea unor cunoștințe despre Jenkins și automatizarea proceselor DevOps poate reprezenta un avantaj pentru profesioniștii care lucrează în dezvoltare software, administrarea infrastructurii sau operațiuni IT. Înțelegerea acestor concepte este apreciată în organizațiile care utilizează practici moderne de dezvoltare și livrare continuă.

Ce oportunități de carieră există pentru specialiștii care cunosc Jenkins?

Competențele legate de Jenkins sunt relevante pentru roluri precum DevOps Engineer, Build & Release Engineer, Site Reliability Engineer (SRE), Cloud Engineer, Software Engineer, Platform Engineer sau Systems Administrator. Multe organizații folosesc Jenkins ca parte a proceselor lor de dezvoltare și livrare software.

Cât de căutate sunt competențele Jenkins pe piața muncii?

Companiile care adoptă practici DevOps și Continuous Integration/Continuous Delivery (CI/CD) caută profesioniști familiarizați cu instrumentele de automatizare. Jenkins rămâne una dintre cele mai utilizate soluții pentru construirea și administrarea pipeline-urilor de integrare și livrare continuă, ceea ce îl face o competență apreciată pe piața muncii.

Care sunt avantajele utilizării Jenkins?

Jenkins permite automatizarea unui număr mare de procese repetitive din ciclul de dezvoltare software, contribuind la reducerea timpilor de livrare și la îmbunătățirea colaborării dintre echipe. Flexibilitatea platformei și ecosistemul său extins de plugin-uri permit integrarea cu numeroase tehnologii și servicii utilizate în mediile DevOps.

De ce este Continuous Integration și Continuous Delivery importantă pentru companii?

Practicile de Continuous Integration și Continuous Delivery ajută organizațiile să livreze aplicații mai rapid, cu mai puține erori și cu un grad mai mare de predictibilitate. Automatizarea proceselor de construire, testare și livrare permite echipelor să răspundă mai eficient cerințelor de business și să reducă timpul necesar lansării noilor funcționalități.

Care este rolul Jenkins în ecosistemul DevOps?

Jenkins reprezintă unul dintre instrumentele centrale utilizate pentru automatizarea proceselor din cadrul unui flux DevOps. Acesta facilitează integrarea diferitelor tehnologii și contribuie la implementarea unor procese eficiente de dezvoltare, testare și livrare continuă, fiind utilizat alături de numeroase alte soluții specifice infrastructurilor moderne.

De ce îmi este recomandat acest curs?

Acest curs îți este recomandat deoarece ai căutat informații sau ai manifestat interes pentru subiecte precum Jenkins, Jenkins Fundamentals, DevOps, CI/CD, Continuous Integration, Continuous Delivery, Continuous Deployment, Automation, Build Automation, Pipeline, Jenkins Pipeline, Git, GitHub, GitLab, Bitbucket, Maven, Gradle, Docker, Kubernetes, Ansible, Terraform, Cloud Computing, AWS, Azure, Linux, Shell Scripting, Infrastructure as Code, Software Delivery, Release Management, Build Engineer, DevOps Engineer, Platform Engineer, Site Reliability Engineering (SRE), Cloud Engineer, Software Development, Version Control, Application Deployment, Microservices, Containerization, Software Automation, IT Operations și alte tehnologii și concepte asociate practicilor DevOps și automatizării dezvoltării software.