Jenkins

Jenkins is a free and open-source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery.

Running for the first time - setup

If you are running Jenkins for the first time, you need to set up a job with the steps below. If you already specified the job, jump to the next chapter to run the Jenkins job, otherwise proceed to the next section.

Plugins

If you installed recommended packages you may already have GitHub plugin, if you do not then navigate to “Manage Jenkins” and choose “Manage Plugins”, search for “git plugin”, and click on “Install without restart”. You should be seeing GitHub plugin installed:

Jenkins_plugin

You may also use the mulitbranch pipeline plugin .

Create Jenkins Job

Multibranch pipleline Job

We recommend that you include ConfigMyApp into your existing Jenkins pipeline by adding a new stage, usually the last stage before the cleanup task.  

We have created a Jenkinsfile that can you easily adapt to suit your multi-stage CI/CD pipelines. The commands in the Jenkinsfile will automatically download the latest copy of ConfigMyApp from GitHub.  

Besides running the Jenkins job from your pipeline, various teams can also manage AppDynamics configurations from Jenkins UI (Using the Build with Parameters options) once deployed - as shown below:

Jenkins UI

Freestyle Job

Click “New Item” to create a new Jenkins job, and pick a “Freestyle” project from the list, and pick an appropriate name and add a description:

Jenkins_new_item

In job configuration, check the “This project is parameterized” checkbox in the “General” section to add environment variables as String variables:

jenkins_parameters

Under “Source Code Management” tab specify the GitHub project:

Jenkins_source_repo

In the “Build” tab, as a build step add “Execute shell” and execute the start.sh script in a similar fashion as you would from the command line. Bear in mind that we defined environment variables in the previous step and you need to specify only additional runtime parameters that you may require:

Jenkins_build_steps

Run Freestyle Job

In order to change any of the configurations, from the left-side menu inside of a project click “Configure”. To run a Jenkins job, pick “Build with Parameters”.

Jenkins_build_with_params

You are going to be prompted with environment variables defined that you can update prior to running a job. Click on the “Build”, and check the progress in build history and “Console output”.

Jenkins_console_output

Job Definitions

An example of a Jenkins job definition can also be found in project source code:

integrations/Jenkins/JenkinsJobFile.xml