Categories: Linux administration, Networking, Virtualization
Engineers are required to build, test and deploy applications in a reliable and repeatable manner. During this training, the participant will acquire basic knowledge related to modern solutions for continuous software development and deployment (CI / CD). One of the tools available to facilitate this process is the Jenkins Automation Server. It is a completely free (open source) tool offering powerful capabilities. The rich feature set is constantly growing thanks to a very active community. A very extensive ecosystem of external extensions (plug-in) gives unlimited possibilities of adapting the solution to your own needs.
During the training, the participant will learn various methods of configuration and active use of the Jenkins server. Various ways of testing the application will also be discussed, as well as the processes enabling acceleration of software development. The participant will learn how to implement the solution in her/his current environment and how to integrate it with other solutions and services (such as Git, Maven, AWS, Docker and many more).
Upon completing the course, participants will have the following skills/knowledge:
#reducing the time needed to implement new software features or releases #implementation of CI / CD solutions in the company #knowledge of the risks and problems that accompany software development (and methods of solving those) #knowledge of a wide range of software testing methods #ability to setup, use and manage the Jenkins automation server #understanding alternative solutions for automation environments #knowledge of the various processes and mechanisms related to CI / CD #ability to automate repetitive tasks
Duration
2 days
Agenda
- Introduction and basic concepts
- common problems related to software development
- a brief overview of the available solutions
- comparison of alternative approaches: cloud versus on-premises software
- foundations of the modern software development cycle
- Basic CI / CD solutions
- continuous building / integration
- continuous inspection
- continuous deployment
- Jenkins Automation Server
- installation and configuration of the tool
- architecture and key elements
- jobs and views
- building a typical project
- increasing possibilities through extensions (plug-ins)
- Pipeline as Code using Jenkinsfile
- archiving and backups
- automation of administrative tasks through custom scripting
- Git integration
- integration with external services (GitHub, BitBucket, etc.)
- security – authentication and authorization
- feedback loop and notifications
- Automatic testing
- purpose of automated testing
- unit and integration testing
- functional / acceptance testing
- performance testing
- manual testing of the applications
- integration of testing tools with the Jenkins server
- Automatic testing
- procedures and additional tools
- modes and workflows in version control systems (git)
- managing changes (migrations) in databases
- use of containers (Docker) in CI / CD processes
- Procedures and additional tools
- modes and workflows in version control systems (Git)
- managing changes (migrations) in databases
- containers (Docker) in CI / CD processes
- Alternative cloud CI / CD solutions based on CircleCI
- introduction to CircleCI (setup, flow)
- comparisons to a Jenkins-based solution
Audience and prerequisites
The training is aimed at programmers, architects, team-leaders, software testers and people responsible for creating application environments (such as administrators and DevOps).
The course program assumes basic knowledge of the Linux environment, using the shell (Bash) command line. The participant should also have a basic knowledge of source control (Git). Experience in software development (in any environment: Java / JavaScript / Python / PHP / Ruby / C ++ / .NET, etc) will be a great help for the participant.
Certificates
Course participants receive completion certificates signed by ALX.
See also:
- Linux administrator
- Advanced Linux administrator
- LPI 101. An introduction to Linux administration
- LPI 102. Linux administration and networking
- Selected Linux network services
- LPI 201. Linux architecture and low-level configuration
- LPI 202. Selected network services and network security
- LPIC-2 exam prep course
- LPI 300: LDAP, Samba, Integration with MS Windows and Mixed Environments
- LPI 303: Cryptography, Access Control, Services and Network Security
- LPI 304: Linux Virtualization and High Availability
- E-mail server - Exim, anti-spam solutions
- E-mail server - Postfix
- Bash shell programming
- Advanced shell programming, Bash, AWK
- Linux backups
- Advanced network traffic and content filtering
- VPNs in theory and practice
- Bandwidth and Traffic Management (QoS) on Linux
- Server and network monitoring, SNMP, Nagios, Munin
- Apache HTTP server on Linux
- Bind domain name server on Linux
- LDAP directory services on Linux. Integrating authorization systems
- Samba server on Linux
- Advanced Samba configuration (PDC, LDAP, replication)
- Linux virtualization
- Wireless networks and their security
- Digital signature and encryption with OpenSSL and GnuPG
- High availability: Linux Virtual Server and supporting technologies (HA1)
- NFS: Network File System on Linux
- Safe Internet in a computer lab
- Security components in Linux
- Linux - application and kernel debugging
- Linux - exploiting applications and operating system. Low level attacks.
- Linux - application security testing, searching for possible exploits. High-level attacks
- MySQL administration