Skip to content

Commit

Permalink
Initial commit added Nutanix Calm Jenkins Plugin code
Browse files Browse the repository at this point in the history
  • Loading branch information
Suryadhulipudi committed Sep 28, 2018
1 parent 8fc25a6 commit 2c51ab5
Show file tree
Hide file tree
Showing 33 changed files with 2,467 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_STORE
205 changes: 205 additions & 0 deletions Nutanix-Calm.iml

Large diffs are not rendered by default.

36 changes: 35 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,35 @@
# nutanix-jenkins-calm-plugin
# Calm_Jenkins_Plugin
Jenkins Nutanix Calm plugin allows you to launch Nutanix Calm blueprint, provision infrastructure and services in multi cloud environment and subsequently run actions/tasks on those applications.

#### License:
* All source code is licensed under the MIT license.

#### Supported Versions:
* Jenkins support versions : 2.107.2 and later
* Calm Tested versions : 5.7.1 and later
* Google browser Tested version : Version 69.0.3497.100 (Official Build) (64-bit)

#### Plugin Installation:
* Navigate to Manage Jenkins-> Manage Plugin-> Available. Search for Nutanix Calm plugin. Click on install.

#### Plugin Configuration:
* To configure the plugin first Navigate to Manage Jenkins -> Configure System -> Nutanix Calm Plugin Configuration. Provide the Prism Central IP, Username and Password. The username can be of any user authorized in the SSP.

#### Jenkins Freestyle job Setup:
* Now that we have configured the plugin , we can go and launch the Nutanix Clam blueprint. First let us look at Adding the Calm specific build steps in the Freestyle projects, navigate to new item, select Free style project, Enter an item name, select OK.
Click Add Build step. Select Nutanix Calm Blueprint Launch. In the section, select the Calm project, Select the blueprint to launch, Select the application profile listed and modify the values for runtime variables available for that application profile. Provide an application name. BUILD_ID is appended by default to the application name to uniquely identify it in Calm. Select the option if you want Jenkins job to wait for blueprint launch to complete before proceeding to the next step.

* We can also invoke actions on the blueprint launched in the previous step or invoke any actions for the existing applications that are running in the Nutanix calm instance.
Click on Add Build Step. Select Nutanix Calm Application Action Run. In the section select the application name. Select the application actions available. If necessary, modify the values for the runtime variables available.

#### Jenkins Pipeline:
* To utilize this plugin in the Jenkins pipeline, navigate to new item, select Pipeline, Enter an item name, select OK.
To generate the pipeline syntax , click on the Pipeline Syntax at the bottom.
* In the Pipeline Syntax window , Select the General build Step in the dropdown. IN the build step dropdown select the Nutanix Calm blueprint launch. The section similar to the one in the Freestyle project shows up. Select the project, Blueprint, Application profile , Variables , App name . Click on Generate Pipeline Script. Copy and paste the text in the box below into the pipeline script box.
* NOTE: We can also use Jenkinsfile from the any Source control management.






126 changes: 126 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>2.33</version>
<relativePath />
</parent>
<artifactId>Nutanix-Calm</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>hpi</packaging>
<properties>
<!-- Baseline Jenkins version you use to build the plugin. Users must have this version or newer to run. -->
<jenkins.version>2.7.3</jenkins.version>
<!-- Other properties you may want to use:
~ java.level: set to 6 if your jenkins.version <= 1.611
~ jenkins-test-harness.version: Jenkins Test Harness version you use to test the plugin. For Jenkins version >= 1.580.1 use JTH 2.0 or higher.
~ hpi-plugin.version: The HPI Maven Plugin version used by the plugin..
~ stapler-plugin.version: The Stapler Maven plugin version required by the plugin.
-->
<scijava.jvm.version>1.8</scijava.jvm.version>
</properties>
<name>Nutanix Calm Plugin</name>
<description>This plugin allows users to launch blueprints in Nutanix Calm. Currently this plugin can be used in Jenkins freestyle projects</description>
<url>https://wiki.jenkins-ci.org/display/JENKINS/Nutanix+Calm+Plugin</url>
<!-- The default licence for Jenkins OSS Plugins is MIT. Substitute for the applicable one if needed. -->
<licenses>
<license>
<name>MIT License</name>
<url>http://opensource.org/licenses/MIT</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>structs</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-step-api</artifactId>
<version>2.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-cps</artifactId>
<version>2.39</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-job</artifactId>
<version>2.11.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-basic-steps</artifactId>
<version>2.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-durable-task-step</artifactId>
<version>2.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-api</artifactId>
<version>2.20</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-support</artifactId>
<version>2.14</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<dependency>
<groupId>org.jglobus</groupId>
<artifactId>jsse</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>


<developers>
<developer>
<id>Nutanix</id>
<name>Nutanix Calm</name>
<email>[email protected]</email>
</developer>
</developers>

<scm>
<connection>scm:git:git://github.com/jenkinsci/Nutanix-Calm-Plugin.git</connection>
<developerConnection>scm:git:[email protected]:jenkinsci/Nutanix-Calm-Plugin.git</developerConnection>
<url>https://github.com/jenkinsci/Nutanix-Calm-Plugin</url>
</scm>

<repositories>
<repository>
<id>repo.jenkins-ci.org</id>
<url>https://repo.jenkins-ci.org/public/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>repo.jenkins-ci.org</id>
<url>https://repo.jenkins-ci.org/public/</url>
</pluginRepository>
</pluginRepositories>
</project>
Loading

0 comments on commit 2c51ab5

Please sign in to comment.