Jenkins as a Service (JaS)

EPAM Orchestrator was initially created, based on the concept of CI/CD processes automation. EPAM Orchestration is intended to deliver Cloud for developers, providing them with all the capabilities, necessary to build effective CI/CD processes.

Jenkins as a service sets up a Jenkins server from scratch, installs all the necessary plugins and starts collecting audit messages from Jenkins (this information becomes available on the Audit page, without need to connect Jenkins directly).

Since September 3, 2016, Jenkins version 2.0 is supported. Previous versions of Jenkins are continued to be supported, however, the all Jenkins instances activated before September 3, 2016, are not upgraded automatically. If you need to use Jenkins version 2.0, you need to terminate your current Jenkins service and activate a new one.

The following plugins are installed together with the upgrade:

{'name' => 'logstash', 'version' => '1.2.0'} {'name' => 'credentials', 'version' => '2.1.4'} {'name' => 'mailer', 'version' => '1.7' } {'name' => 'matrix-auth', 'version' => '1.4' } {'name' => 'jobConfigHistory', 'version' => '2.15' }

Have a Question?

The current page gives the general information on the service and the main workflows. However, while working with the services, our users encounter new questions they need assistance with. The most frequently asked questions on EPAM Cloud Services are gathered on the Cloud Services FAQ page.
Visit the page to check whether we have a ready answer for your question.

Related CLI Commands

The table below provides the list of service-related commands and their descriptions:

Command Short Command Description
or2-manage-service ... -s jenkins -a or2ms Starts the service in the specified project and region
or2-describe-jenkins-jobs or2djj Describe the existing Jenkins jobs
or2-create-jenkins-job or2cjj Creates a new Jenkins job
or2-trigger-jenkins-job or2tjj Triggeres the specified Jenkins job execution
or2-remove-jenkins-job or2rjj Removes the specified Jenkins job
or2-manage-jenkins-plugins or2mjp Manages Jenkins plugins
or2-audit -p project -r region -g jenkins or2audit Retrieves the Audit on Jenkins performance

Further on this page, you can find the examples of the commands usage for Jenkins Service manipulation.

Service Activation

To start the service, use the or2-manage-service command with the following parameters:

or2ms -p project -r region -s jenkins --activate -k key_name

Here, the -s parameter specifies the name of the service to manage (jenkins), and the --activate parameter indicates that the service should be activated (to stop the service, use --deactivate). The -k (--key-name) parameter specifies the SSH key name that will be used to run the service VM. The key is necessary for running the service in AWS, and is not obligatory for Azure.

During the service activation, a VM is started and a Jenkins server is configured on it.

To create a Jenkins cluster, repeat the or2ms command to start Jenkins slaves. Repeat the command as many times as you need slave instances. The Jenkins slave instances will have the same configuration as the master instance. All integrations between the master and the slaves will be performed automatically.

Service Manipulations

EPAM Orchestrator supports the following commands for Jenkins service manipulations:

  • To create a new Jenkins job, run the or2-create-jenkins-job (or2cjj) command specifying the -c/--config property with the Job XML config file:
or2cjj -j "new job" -p project -r region --config [path to job XML config file]

The or2cjj command verifies whether all required for the selected configuration are available. If one or several plugins are missing, the job is not created, and the system returns an error message listing the missing plugins.

  • To manage Jenkins plugins, use the or2-manage-jenkins-plugins (or2mjp) command. This command is used to describe the available plugins, install or uninstall plugins.

Describing plugins:

or2mjp -p project -r region

Installing a plugin:

or2mjp -p project -r region ?a install ?n plugin-name

Uninstalling a plugin:

or2mjp -p project -r region ?a uninstall ?n plugin-name
  • To describe the existing Jenkins jobs, run the or2-describe-jenkins-jobs (or2djj) command:
or2djj -p project -r region
  • To trigger a Jenkins job, run the or2-trigger-jenkins-job (or2tjj) command:
or2tjj -p project -r region -j "job_name"
  • To remove a Jenkins job, run the or2-remove-jenkins-job (or2rjj) command (use the -y parameter for automatic confirmation of the action):
or2rjj -p project -r region -j "job_name"
  • To stop the Jenkins service and remove the Jenkins Server VM, run the following command:
or2ms -p project -r region -s jenkins --deactivate

Web UI

You can connect to the Jenkins server by its DNS address and 8080 port:

http://<LogServerInstanceDNS>:8080

You can see the Jenkins Server instance DNS in the response of the the or2-describe-services command call.

When you log in, you will get to Jenkins server info and statistics:

Pricing

The service usage price is defined by the price of the Jenkins Server VM and Jenkins slave VMs, if any.

The default parameters of a Jenkins VM are:

  • Shape: MEDIUM
  • Image: Ubuntu16.04_64-bit

The other significant factor is the Cloud provider and the region you use.

To estimate the price of the AWS-based infrastructure you plan to create, you can use the AWS Simply Monthly Calculator.

To estimate prices in Azure, see the Azure Pricing page. .

References

More information on the Jenkins Service can be found in the EPAM Cloud Services Guide. For detailed description of the Maestro CLI commands used to manage the Jenkins Service, refer to the Maestro CLI User Guide.