> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/local-governance/v2.8/platform/configure-digit/qa-automation/jenkins-setup-for-automation.md).

# Jenkins Setup for Automation

## Overview

This tutorial will guide you through the step by step procedure to set up Jenkins on a ubuntu machine for automation purposes.

Connect to the remote machine using SSH and follow the steps mentioned below.

## Install Java 8

* sudo apt update
* sudo apt-get install openjdk-8-jdk
* java -version

## Install Jenkins

* sudo wget -q -O - <https://pkg.jenkins.io/debian-stable/jenkins.io.key> | sudo apt-key add -
* sudo sh -c 'echo deb[ <img src="https://www.jenkins.io/sites/default/files/jenkins_favicon.ico" alt="" data-size="line">Debian Jenkins Packages](http://pkg.jenkins.io/debian-stable) binary/ > /etc/apt/sources.list.d/jenkins.list'
* sudo apt update
* sudo apt install jenkins
* sudo systemctl start jenkins
* sudo systemctl status jenkins (should be active)

#### Install and setup apache2 for Jenkins

* sudo apt install apache2
* sudo a2enmod proxy
* sudo a2enmod proxy\_http
* sudo a2enmod headers
* **sudo vi /etc/apache2/sites-available/000-default.conf** and add following code inside **VirtualHost** xml tag:

```
##### ############################################################ ####
##### ============================================================ ####
##### The Build Business Websites Jenkins and Apache Configuration ####
##### ============================================================ ####
##### ############################################################ ####

ProxyPass         /jenkins  http://localhost:8080/jenkins nocanon
ProxyPassReverse  /jenkins  http://localhost:8080/jenkins

ProxyRequests     Off
AllowEncodedSlashes NoDecode

<Proxy http://localhost:8080/jenkins*>
  Order deny,allow
  Allow from all
</Proxy>

##### ============================================================ ####
##### ############################################################ ####
```

* **sudo vi /etc/default/jenkins** and make sure

```
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --prefix=/jenkins"
```

* sudo systemctl restart jenkins
* sudo systemctl restart apache2
* Open port 80 of the remote machine to make it accessible from the local machine

## Setup Jenkins

* sudo vi /var/lib/jenkins/secrets/initialAdminPassword
* copy the initial password inside the file
* now open remote-host-ip/jenkins in local browser
* paste the password, select the required plugin to install and start the installation

> [![Creative Commons License](https://i.creativecommons.org/l/by/4.0/80x15.png)\_\_](http://creativecommons.org/licenses/by/4.0/)*All content on this page by* [*eGov Foundation* ](https://egov.org.in/)*is licensed under a* [*Creative Commons Attribution 4.0 International License*](http://creativecommons.org/licenses/by/4.0/)*.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.digit.org/local-governance/v2.8/platform/configure-digit/qa-automation/jenkins-setup-for-automation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
