1. What is Jenkins:
    • An open source continuous integration server.
    • Helps to continuously and automatically build, deploy and test your software/project.
    • Helps you to monitor the execution of tasks which in turn allow you to focus more on writing code and less on managing/deploying servers.
    • Makes it easier for team and customers regularly obtain the latest stable code.
  2. Benefits:
    • Developer time is focused on work that matters.
    • Building/testing software projects continuously.
    • Software quality gets improved.
    • Monitoring executions of jobs/tasks/builds etc.
    • Faster Development and deployment/rollbacks/alerts etc.
  3. Installing Jenkins:
    • For Ubuntu: Run command from the command linesudo apt-get install jenkins it will install Jenkins.
      For Mac: Download Jenkins from https://jenkins.io/content/thank-you-downloading-os-x-installer/#stable
      Or you can visit https://jenkins.io/ and download Jenkins for your operating system.
    • Requirement: JDK 1.5 or above. Sufficient disk space in your system where Jenkins server will run.
    • Once Jenkins is installed, you can access Jenkins from your browser with your localhost http://localhost:8080  or follow the instruction there if it asks any to complete the Jenkins setup.
      Below are few screenshots which will appear on your browser at http://localhost:8080 during installation:




      From above, I have selected Install suggested plugins to get started with. You can choose to install those or can skip by clicking ‘Select plugin to install’ and then select the plugins which you need.
      we will anyway install plugins which are needed for our demo when we continue to the next part of Jenkins setup and using it for code deployment.

      So this is how you can install Jenkins and start using it so that you do not have to worry about doing application deployment each time new build needs to be done or releases.

  4. Start/Stop Jenkins:
    Stop: sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
    Start: sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
  5. Comparison of continuous integration software:
  6. Alternatives to Jenkins:
    • Standalone:
      • TeamCity
      • Atlassian Bamboo
    • Hosted:
      • http://Cloudbees.com
      • http://Codeship.io
      • http://CircleCI.com

Next, We will see how to use Jenkins with a simple setup/demo with Github integration to pull code and deployment to the server.
Below link will be updated when the next blog on it is up and ready. Stay tuned. 🙂
Next: <Jenkins + Github for auto deployment of app>

References: