jenkins installation on centos

#jenkins

1. Preparation

1.1 Install JDK

yum install java-1.8.0-openjdk

2. Install Jenkins

2.1 Install from yum

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins

2.2 Config Jenkins Service

modify file: /etc/sysconfig/jenkins

JENKINS_PORT="7070"

start jenkins service:

sudo systemctl start jenkins.service
sudo systemctl status jenkins.service

view jenkins: http://<ip>:7070

2.3 Config Jenkins Plugins

First, to get admin password cat /var/lib/jenkins/secrets/initialAdminPassword .

Visit http://<ip>:7070, enter admin password to unlock jenkins.

Create a admin user to manage jenkins config:

name: admin
password: password
full name: admin
email: admin@example.com

Then, select plugins you needed to install, the following is what i select:

  • Folders
  • OWASP Markup Formatter
  • Build Timeout
  • Credentials Binding
  • Timestamper
  • Workspace Cleanup
  • Ant
  • Gradle
  • Pipeline
  • GitHub Branch Source
  • Pipeline: GitHub Groovy Libraries
  • Pipeline: Stage View
  • Git
  • SSH Slaves
  • Matrix Authorization Strategy
  • PAM Authentication
  • Email Extension
  • Mailer
  • Dashboard View
  • Config File Provider
  • embeddable-build-status
  • Rebuilder
  • SSH Agent
  • build-name-setter
  • Throttle Concurrent Builds
  • NodeJS
  • Checkstyle
  • Cobertura
  • HTML Publisher
  • JUnit
  • Warnings
  • Build Pipeline
  • Conditional BuildStep
  • Multijob
  • Parameterized Trigger
  • Copy Artifact
  • Git Parameter
  • GitHub
  • GitLab
  • Role-based Authorization Strategy
  • Email Extension Template

Other plugins can be installed from page Jenkins > Plugin Manager > Available:

  • pipeline-utility-steps
  • Pipeline Maven Integration
  • JIRA
  • FindBugs
  • Publish Over SSH
  • SSH
  • Dingding[钉钉]

2.4 Config Jenkins Security

Go to page Jenkins > Configure Global Security to config jenkins security as follow:

Configure Global Security
  Enable security
    Jenkins’ own user database
      Allow users to sign up
    Matrix-based security
      Anonymous Users: <NO PERMSSION SELECTED>
      Authenticated Users: <ALL PERSSIONS EXCEPT ADMINISTER>
      admin(user): <ONLY ADMINISTER PERMISSION>

create some users for team members so that they can create jenkins project.

2.5 How to deploy a custom plugin

  1. Stop Jenkins
  2. Copy the custom HPI file to $JENKINS_HOME/plugins
  3. Remove the previously expanded plugin directory
  4. Create an empty file called <plugin>.hpi.pinned - e.g. maven-plugin.hpi.pinned
  5. Start Jenkins

3. Trouble Shooting:

3.1 Reset Jenkins Permission:

When configing jenkins security incorrectly, you may lose the control of jenkins. You can reset jenkins permission as following and config security again.

  1. stop jenkins: sudo systemctl stop jenkins
  2. remove old user data: rm -rf /var/lib/jenkins/users/*
  3. config /var/lib/jenkins/config.xml , set <useSecurity>false</useSecurity> and delete <authorizationStrategy>、<securityRealm>
  4. start jenkins: sudo systemctl start jenkins
  5. go to login page to create the admin user
  6. at last, config jenkins enable secrity correctly, and assign permissions to authrized user.

27 Apr 2018,望哥