Presentation is loading. Please wait.

Presentation is loading. Please wait.

MAE Continuous Integration Administration guide July 8th, 2013.

Similar presentations


Presentation on theme: "MAE Continuous Integration Administration guide July 8th, 2013."— Presentation transcript:

1 MAE Continuous Integration Administration guide July 8th, 2013

2 Agenda Introducing Jenkins Installing and running Jenkins Jenkins Terminology Securing Jenkins Managing plugins Jobs creation and configuration

3 Introducing Jenkins Jenkins is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes in source control and trigger a variety of builds. Jenkins plugin system allows Jenkins to be extended to meet specific needs of individual projects.

4 Installing and running Jenkins Software Prerequisites: ─ only one prerequisite, a Java Runtime Environment (JRE) compatible with Java 6 or higher ─ sudo yum install java On Red Hat Enterprise Linux (RHEL), you can install Jenkins through yum: ─ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo ─ sudo rpm --import http://pkg.jenkins- ci.org/redhat/jenkins-ci.org.key ─ sudo yum install jenkins

5 Installing and Running Jenkins Starting and Stopping Jenkins on RHEL ─ sudo service jenkins start/stop/restart Jenkins Log Files on RHEL ─ Log file will be placed in /var/log/jenkins/jenkins.log Jenkins Configuration on RHEL ─ /etc/sysconfig/jenkins will capture configuration parameters for the launch Upgrading Jenkins on RHEL ─ sudo yum update jenkins

6 Jenkins Terminology TermDescription Master/SlaveSlaves are Jenkins nodes that are configured to build projects for a master. Jenkins runs a separate program called "slave agent" on slaves. When slaves are registered to a master, a master starts distributing loads to slaves. Job/ProjectA runnable task that is controlled / monitored by Jenkins PublisherA publisher is part of the build process other than compilation, for example JUnit test runs. A publisher may report stable or unstable result depending on the result of its processing. For example, if a JUnit test fails, then the whole JUnit publisher may report unstable.

7 Jenkins Terminology TermDescription Completed BuildA build is completed, if it was started and finished with any result, including failed builds. Stable buildA build is stable if it was built successfully and no publisher reports it as unstable. Unstable buildA build is unstable if it was built successfully and one or more publishers report it unstable. For example if the JUnit publisher is configured and a test fails then the build will be marked unstable. Broken/Failed buildA build is broken if it failed during building. That is, it is not successful. Successful buildA build is successful when the compilation reported no errors.

8 Jenkins Terminology TermDescription Upstream projectA project can have one or several upstream projects, which means that a build for the current project may be scheduled when an upstream build is finished. Downstream project A project can have one or several downstream projects, which means that a build for the downstream project may be scheduled when the current build is finished.

9 Securing Jenkins ─ Out of the box Jenkins has no security enabled. ─ To enable security, check Enable security in the global configuration. ─ Once security is enabled it is possible to set up desired security settings:

10 Securing Jenkins Authentication and Authorization ─ Security Realm: Atlassian Crowd

11 Securing Jenkins Authentication and Authorization ─ Access-control: Project-based Matrix Authorization Strategy

12 Securing Jenkins Project-based Matrix Authorization Strategy permissions o Overall - global activities such as administration rights o Slave - management of Jenkins slave instances o Job - create, manage, edit, and delete jobs o Run - specific build jobs o View - build job views o SCM - source code management systems o Artifactory - release/promote artifacts in binary repository

13 Securing Jenkins - Troubleshooting Disabling security when locked out: ─ edit the file config.xml in your JENKINS_HOME and set:  false ─ with security disabled you will have full access to Jenkins and be able to troubleshoot and fix security configuration. !!! Warning: with security disabled all Jenkins management functions will be available to non- authenticated user, be sure to block public access to Jenkins instance before disabling security.

14 Managing Plugins Jenkins plugin management is available via Manage Jenkins and selecting the Manage Plugins link. administration interface allows you see what plugin versions are currently installed, update them and install new ones as well as manage some advanced settings plugins allow you to support many new features beyond a basic Jenkins install as well as modify the user interface and transform Jenkins into the CI server your project needs

15 Managing Plugins

16 Creating New Job To create a new Jenkins project ─ click on New Job in the left navigation menu, which will display the New Job form

17 Common Job Configuration Settings General Project Settings ─ project name, description and other general parameters Advanced Project Options ─ miscellaneous settings for advanced usage. Source Code Management ─ source code management-related parameters for various systems Build Triggers ─ how builds are started Post-build Actions ─ steps taken after a build completion

18 Working with Maven Builds After configuring the general project options one or more build steps can be configured To add a build step, click on the Add build step button and select Invoke Maven 3

19 Working with Apache Ant builds After configuring the general project options one or more build steps can be configured To add a build step, click on the Add build step button and select Invoke Ant

20 Working with Gradle Builds After configuring the general project options one or more build steps can be configured To add a build step, click on the Add build step button and select Invoke Gradle

21 Working with Source Control - Git By default Jenkins has support for Git, Subversion and CVS pre-installed. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Atlassian Stash provides a central place to create and manage Git repositories hosted on MAE

22 Working with source control - Git By default Jenkins has support for Git, Subversion and CVS pre-installed. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Atlassian Stash provides a central place to create and manage Git repositories hosted on MAE

23 Git – Global Configuration Once Git is configured in the global Jenkins configuration project-specific Git settings can be configured.

24 Git - Project Configuration Select Git under the Source Code Management section of the Job configuration


Download ppt "MAE Continuous Integration Administration guide July 8th, 2013."

Similar presentations


Ads by Google