Skip to content

Jenkins

homepage-banner

Introduction

In today’s fast-paced software development world, organizations are constantly seeking ways to improve their development process. One such tool that has gained immense popularity is Jenkins. Jenkins is an open-source automation server that enables developers to automate various aspects of the software development process.

Continuous Integration

Continuous Integration (CI) is a software development practice where developers merge their code changes to a central repository frequently. Jenkins enables developers to automate the CI process by continuously building and testing the code changes. With Jenkins, developers can detect issues early on and fix them before they become major problems.

Continuous Deployment

Continuous Deployment (CD) is the process of automatically deploying the code changes to the production environment after it has passed the necessary tests. Jenkins enables organizations to automate the CD process by deploying the code changes to the production environment once they have passed the necessary tests. This process ensures that the code changes are delivered to the end-users quickly and efficiently.

Useful Jenkins Plugins

Jenkins has a vast library of plugins that enable developers to customize and extend its functionality. Developers can choose from over 1,500 plugins to integrate various tools and services with Jenkins. Some popular plugins include Git, JIRA, and Slack. These plugins enable developers to streamline their development process and improve collaboration among team members.

Active Choices Plug-in
AnsiColor
Ant Plugin
Build Blocker Plugin
Build Name Setter Plugin
Conditional BuildStep
Credentials Plugin
CVS Plug-in
description setter plugin
Environment Injector Plugin
External Monitor Job Type Plugin
Git Changelog
Git client plugin
Git Parameter Plug-In
Git plugin
GIT server Plugin
Git Tag Message Plugin
Gitlab Hook Plugin
Groovy
Javadoc Plugin
Job Configuration History Plugin
jQuery plugin
JUnit Plugin
LDAP Plugin
Mailer Plugin
Matrix Authorization Strategy Plugin
Matrix Project Plugin
Maven Integration plugin
Node and Label parameter plugin
OWASP Markup Formatter Plugin
PAM Authentication plugin
Parameterized Remote Trigger Plugin
Parameterized Trigger plugin
Post-Build Script Plug-in
Publish Over SSH
Purge Job History Plugin
Rebuilder
ruby-runtime
Run Condition Plugin
S3 package parameter plugin
SCM API Plugin
Script Security Plugin
Scriptler
SSH Credentials Plugin
SSH plugin
SSH Slaves plugin
SSH2 Easy Plugin
Subversion Plug-in
Token Macro Plugin
Translation Assistance plugin
user build vars plugin
Windows Slaves Plugin

Jenkins High Availability

Solution 1

  • https://www.cloudbees.com/jenkins

Solution 2

Use shared storage for Jenkins home directory, such as NFS or AWS EFS.

  • https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html

Jenkins Q & A

How to Restart Jenkins Safely

https://www.baeldung.com/ops/jenkins-safe-restart

Save multiline string parameter into file in Jenkins

assuming multiline variable in Jenkins is file_body, and written file name is file_name, possible convert script could be:

#!/usr/bin/env python
import os
import io

with io.open(os.getenv("file_name"), "w", encoding="utf-8") as text_file:
    text_file.write("%s" % unicode(os.getenv("file_body")))

Uninstall Jenkins on MacOS

/Library/Application\ Support/Jenkins/Uninstall.command

Reference

  • https://www.jenkins.io/
  • https://plugins.jenkins.io/
Feedback