Jenkins CI/CD Server

Jenkins är helt klart den mest populära CI servern (Continuous Integration). Vi använder den själva för att bygga Groovy Grails webbapplikationer, köra igenom alla test, bygga en WAR och automagiskt driftsätta den nya versionen på en Tomcat server, som kör på en EC2 server i Amazon AWS molnet. Självklart tar vi upp och delar med oss av egna erfarenheter och best practices. I denna Jenkins kurs får du lära dig att installera och konfigurera en Jenkins server, skapa byggjobb, installera och hantera en utvald mängd populära Jenkins plugins och mycket annat. Kursen vänder sig till alla som är verksamma med systemutveckling och vill komma igång med sin egen Jenkins server.

Jenkins CI/CD Server
1 dag
Beginner
Programutvecklare
Erfarenhet av programming i något språk
  • Jenkins
  • Ubuntu Linux
  • Text editor
Här ser du vilka kursdatum som är tillgängliga. Klicka på en av datumknapparna för att anmäla dig till ett kurstillfälle. På kursen pratar läraren svenska, medan vårt kursmaterial alltid är författat på engelska.

Du sitter bekvämt framför datorn och deltar i kursen via internet. Vi använder programvaran Zoom för alla våra fjärrkurser.

I priset ingår kursmaterial som PDF.

Pris: 5 000 kr + MOMS/VAT (25%)

Du sitter bekvämt i ett av våra klassrum, vilka finns centralt placerade i Stockholms innerstad (Östermalmstorg).

I priset ingår tryckt kursmaterial (och som PDF), samt kaffe/te med smörgås på förmiddagen och kaffe/te med bulle på eftermiddagen.

Pris: 12 000 kr + MOMS/VAT (25%)

Om ni är tre eller fler personer från samma företags, kan ni beställa en företagsanpassad kurs. Då håller vi kursen på ett datum som passar er. Antingen på plats i era lokaler eller som en fjärrkurs. Vi kan även mixa fjärr- och klassrumskurs, om några av er önskar delta på distans medan resten föredrar att ses på plats.

Företagsanpassad Kurs

Här är ett sammandrag av vad du får lära dig på kursen. Du kan också kika på hela kursinnehållet via fliken INNEHÅLL

  • Where is a CI / CD server and which are there?
  • Installation and configuration of Jenkins
  • Create a simple construction job
  • Create interconnected construction jobs
  • Set up a trigger from GitHub and the like
  • Recommended plugins and how to install them
  • Management of passwords and login certificates

Background and Overview

  • What is a CI server
  • Typical tasks for a CI server
  • Some common CI servers
  • The history behind Hudson, that became Jenkins

Installation and Configuration of Jenkins

  • Running Jenkins stand-alone on Windows
  • Installing Jenkins at Ubuntu Linux
  • Jenkins directory structure
  • Common configuration files
  • Typical initial plugin configuration
  • Setting up mail notification

Creating Build Jobs

  • Jobs view
  • Jobs output
  • Jobs workspace
  • BASH jobs
  • Configuration of various support system plugins, such as Java, Groovy, Grails, Ant, Maven, Gradle and more
  • Creating a job using a Java build tool, such as Ant, Gradle and Maven
  • Linked jobs, using forward or backward links

Plugins

  • What is a Jenkins plugin
  • Where to find plugins
  • Different ways to install plugins
  • Presentation of some useful plugins

Credentials

  • What is a credential
  • Using the credential manager and why it is important to do so
  • Using SSH or SCP access to a remote system
  • Using secret text in build jobs

Working with VCS/SCM Systems

  • What is build trigger
  • Overview of SCM plugins
  • GitLab configuration
  • Polling SCM
  • Pushing from SCM
  • Restricting to a branch
  • SSH vs. HTTPS when accessing a SCM

Pipeline Build Jobs

  • Build job configuration as a source code
  • What is a Jenkins-2 pipeline job
  • Groovy configuration
  • Using a Jenkinsfile checked in to SCM
  • Pipeline vocabulary
  • Groovy pipeline DSL
  • The Groovy snippet generator
  • Pipeline build view
  • The Blue Ocean plugin

Build Tools

  • Typical build tools
  • Build tools for JVM, JS and C/C++
  • Tool configuration
  • Using CMake to build C++ applications
  • Using GulpJS to build NodeJS applications
  • Referring to a tool in a pipeline job

Deployment

  • Various forms of deployment
  • Deployment of web files
  • Deployment to a servlet container, such as Tomcat
  • Guidelines for non-interactive BASH scripts
  • Fetching and executing an installation script from a GIT repo
  • Launching a EC2 cloud server, in AWS
  • Installing a Jenkins server on EC2

Security

  • What is Jenkins security
  • Restricting access to HTTPS only
  • Nginx as a forwarding proxy
  • Using AWS ELB as a HTTPS front-end to a Jenkins EC2
  • Authentication in Jenkins
  • Authorization in Jenkins