What is Jenkins
More than just a build tool
If you have spent any time at all practicing continuous integration, you will probably have heard of Jenkins. It is after all the defacto standard tool for build and test automation. Jenkins can be used to automate the CI/CD pipeline of many types of software: from the smallest website to large-scale complex applications.
Logo courtesy of jenkins.io
About this tutorial
After reading this tutorial you will:
- Be able to install Jenkins
- Understand the benefits of infrastructure-as-code
- Have created your first pipeline
- Understand how to structure more complicated pipelines
- Integrate pipelines with Git
- Have access to further reading
Why Do I Need Automation
Say no to poor quality delivered behind schedule
In order to create reliable, working software it is important to automate your test, build and delivery system.
In traditional software engineering, developers would finish coding a new feature and hand it over to a test team and/or operations team for testing and deployment. Testing would usually consist of days or more of labor-intensive manual testing. Operations would then figure out how to update a spaghetti bowl full of ad-hoc scripts to deploy the update.
To make matters worse, as the feature development fell behind schedule, there would be even less time for the testing and deployment, creating stress and resentment between the different teams. The result? Untested features and poor quality software delivered late.
The solution is to adopt DevOps and automate the end-to-end process of development, testing and deployment. Your mission: create a One-Click Continuous Delivery pipeline using Jenkins.
By using Jenkins for automation you will lower the time to release and improve the quality of your software.
Why Should I Learn Jenkins
Over one million users – and it’s free to use!
Becoming a Jenkins expert is a great way to start your career as a DevOps engineer, or to fine-tune your skills. As there are estimated to be over one million Jenkins users worldwide, it makes sense to use Jenkins due to its flexibility and excellent community support – not to mention it is free to use!
Jenkins will support software development in any programming language, whether it is Java, C++, C#, Python or PHP. As Jenkins is written in Java it is also cross-platform: supported on Windows, Mac and Linux.
With a large community offering over 1000 plugins, the Jenkins plugin architecture makes it straightforward to tailor it to your needs. Popular plugins allow for integration with version control systems (e.g. Git), support cloud providers (e.g. AWS), provide monitoring and reporting, security controls and dependency management. You can even write your own plugin using Java, making it a powerful choice for CI/CD.