Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Jenkins

Par Jingwei BAI Publié le 19/12/2018 à 06:47:21 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

As a JAVA-based open source automation system platform, Jenkins accelerates automation of CI(Continuous Integration), CD(Continuous Delivery and Continuous Deployment) tasks and pipelines, what's more, it supports almost all types of tasks: build, test, deploy. About these workflow component, we will discuss in the chapter[1.5] in detail.

After practicing Jenkins installation and getting a start with interface usage and management, I am sure that you will deepen your sensibility and rational understanding of Jenkins, which is necessary for some advanced Jenkins usage.

For example, if you get a preliminary recognition on the storage method of Jenkins, you will be able to obtain a better understanding of the working principle of Jenkins that the its archive files are stored on the Master. The timely build is performed on the slave, and some potential problems caused by large archive files (network, disk, performance, etc.).

Preview

This article has clear structure to help reader to understand the Jenkins well, we will introduce Jenkins in five main part, we will explain what is Jenkins, what is the working principle, what is the Continuous Integration(it is the core method of Jenkins and why Jenkins exists), and then how to use Jenkins in the work scenario. For the reason of better understanding to reader, we illustrate with necessary images. After reading the article, you will be able to have preliminary knowledge about Jenkins and do some beginning configuration.

The whole structure of the article is as below.

  • 1.1 Preview

  • 1.2 Introduction

  • 1.3 Concept of Jenkins

  • 1.4 Continuous Integration

  • 1.5 Features

  • 1.6 Development process

  • 1.7 Conclusion

  • 1.8 Bibliography

Introduction

The predecessor of Jenkins is Hudson. For now Jenkins is a stand-alone open source server, a continuous integration tool developed developed and manipulated byJava, it monitors continuous repetitive work and aims to provide an open and easy-to-use software platform that enables continuous integration of software.

Jenkins is mainly used as two aspects:

  1. Build/test software projects continuously, automatically, such as CruiseControl and DamageControl.

  2. Monitor some scheduled tasks.

Concept of Jenkins

Jenkins is a powerful application that allows Continuous Integration (CI) and Continuous Delivery (CD) of projects, no matter which platform we use in the workplace. Jenkins provide a free source code to all users and developers which can handle any type of build or continuous integration.

Integrated Jenkins can be used for some testing and deployment techniques. In a word, Jenkins plays a role as a software that allows for continuous integration. Jenkins is installed on a service and where the central build takes place.

When you have finished the installation and configuration. You will be able to see the dashboard as below. It is a sample of Hello World project which is implemented on the Jenkins local server.

Continuous Integration

Continuous Integration: After the development of the new code is submitted, the build, (unit) test will be performed immediately. According to the test results, the test process can determine whether the new code and the original code can be correctly integrated or not. If there is a problem in the test process, the code will be returned to the development department.

Continuous Delivery: Deploy the integrated code to a more realistic production environment based on continuous integration. In close proximity to the real-world build environment, you can improve data support and further test. If there is no problem with further testing, you can choose to deploy it to the online build environment.

Continuous Deployment: On the basis of continuous delivery, the process of deploying to the production environment is executed automatically, and it should be noted that the deployment does not require manual participation. If there is a problem during the deployment process, the code will be rolled back immediately.

  • Continuous integration is a development practice that requires developers to regularly integrate code into a shared repository.

  • This concept is to eliminate the problems found, and later appeared in the construction life cycle.

  • Continuous integration requires developers to build frequently.

  • The most common practice is that the build should be triggered whenever the code is submitted.

Features

  • Open source is the label of Jenkins, it is developed byJava language and it is a development continuous integration tools, support CI(Continuous Integration), CD(Continuous Delivery and Continuous Deployment).

  • Easy to install deployment and make the configuration: With the feature of user-friendly, Jenkins can be installed through yum, or download war package. And then user can quickly implement the installation and the deployment through docker container, which is convenient for web interface to make the configuration and management.

  • Message notification and test report: Integrate RSS/E-mail to publish the build result via RSS or generate an JUnit/TestNG test report by e-mail notification when the build is complete.

  • Distributed build: Support for Jenkins to allow multiple computers to be built/tested together.

  • File identification: Jenkins can track the builds which are generated, and which jars are used in real time.

  • Rich plug-in support: It supports for extensions, developer can develop specific tools or useful plug-ins for their own team, such as GIT, SVN, Maven, Docker, etc.

Development process

Jenkins is a productivity-enhancing software which can help you turn the project development process into a workflow. The typical workflow consists of the following steps.

  1. Development

  2. Submit

  3. Compile

  4. Test

  5. Publish

With the help of Jenkins, daily project management will be taken control within these five steps. In addition to the first step, the following four steps are implemented automatically.

When you are complete the step of submission, Jenkins will automatically run your compilation script. After the compilation is successful, Jenkins will execute the test script you have stored, if this step is successful. Then it will help you to release the new program. In particular, in the publish step, you have a option to choose the mode that how to publish the project, manually or automatically.

Conclusion

In this article we introduce the main concepts and working principles of Jenkins. As the main platform of continuous integration, Jenkins is widely used in real work situations. I sincerely hope this article can help readers and potential Jenkins learners.

Bibliography

  • https://jenkins.io/node/

  • https://jenkins.io/doc/

  • https://www.tutorialspoint.com/jenkins/jenkins_overview.htm

  • [1.2] Image referred from https://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/continuous-integration-jenkins-plugin.html

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels