Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel3
outlinetrue

Jenkins Configuration

Installing the Plugin

To upload the plugin, connect to your Jenkins server and click "Manage Jenkins." Then choose "Manage Plugins."

Image Modified
From here, you can either go to the "Available" tab, and search for FlexDeploy. 

Image Modified

Info

If you don't see the FlexDeploy Plugin in the update center, you can still download it directly from here.

Expand

a. Download the Jenkins FlexDeploy Plugin from the Jenkins Support Site.

b. On the Manage Plugins page, choose the Advanced tab, then click Choose File under the Upload Plugin section.

Image Modified


After installing the plugin, you may need to restart the Jenkins server for the changes to take effect. Just check the box on the next screen if it says "Jenkins needs to be restarted for the update to take effect".

Image Modified

Configuring the Plugin to work with FlexDeploy

In your Jenkins project configuration, scroll down to the Post-Build Actions section, and click Add Post-Build Action

Info

Make sure that you place the Archive the artifacts step before the FlexDeploy plugin step so the plugin can find the proper artifacts.

Choose Trigger FlexDeploy Project from the menu.

Image Modified
Once you've added the Build FlexDeploy Project step, you should see a configuration page like this.
Image Modified

  • FlexDeploy URL - This is the URL to FlexDeploy on your server.
  • Qualified Project Path - I left this blank, because it will most likely be set at the individual project level.
  • Environment Code - This is the environment we will be building in. I chose to use my development environment in this example, but this could be any environment code you want.
  • Credentials - The credentials Jenkins should use to connect to FlexDeploy with. Can be stored using the Credentials plugin, or you can enter a username and password.
  • Wait for FlexDeploy -Check this box to make the plugin remain in a 'Running' state until the FlexDeploy workflow completes, then mark the Jenkins build as failure or success based on the FlexDeploy workflow status. If workflow execution takes longer than 15 minutes, the plugin will stop polling and report success.
  • Stream Name - This is the stream to build your FlexDeploy project in. Note that this will almost always be the default stream name, as the build workflow will probably not actually need to use it. The default value is trunk, but it should be changed to match the stream name setting in your Project Defaults configuration in FlexDeploy.
  • Release Name - Fill in this box if the project you're building is part of a release.
  • Test Connection Button - This button can verify that your FlexDeploy URL and Credentials are valid.
  • Inputs - This section is where you would define any workflow inputs you have configured.
  • Input Code - The code of the workflow input to pass in.
  • Value - The value to be passed in with the workflow input. You can use environment variables (Like BUILD_NUMBER) to pass in values.

    Info
    For a full list of available variables, take a look at this page.


  • FlexFields - This section is where you would define any build FlexFields that need to be passed in for your build

FlexDeploy Configuration

After uploading the FlexDeploy Jenkins Plugin to FlexDeploy, go to your Environment/Instance configuration for the Environment and Instance you plan to run this plugin in. You should see a page like this:
Image Modified\

  • Jenkins Username - The username to connect to Jenkins as.
  • Jenkins Password - The password for the Jenkins User
  • Jenkins URL - The URL of the Jenkins server to connect to.

Once your Environment/Instance is configured, you're ready to use the Jenkins Plugin in a workflow. Create a new workflow for your project to use, and add the retrieveArtifacts step from the Jenkins Plugin.
Image Modified

  • Create a workflow input called inpBuildNumber.

    Image Modified

  • Drag in the plugin step, change the input type to script, and enter the name of the input we just created.

    Image Modified

  • Now, create the FlexDeploy project that Jenkins will execute. Once you choose the build workflow we just created, you should be able to see a project property called Jenkins Job Name. Enter the name of your Jenkins job/project here.

    Image Modified

    Info

    It's generally best practice to give the project in FlexDeploy the same name as the project in Jenkins. This way, we can simply use the FD_PROJECT_NAME variable to minimize the potential for project misconfiguration.


  • Once you've configured the workflow and the project property, you should be set up to use a Jenkins artifact in FlexDeploy!

    Info

    If you want to use FlexDeploy to deploy an artifact built in Jenkins, simply set up a Post Build Trigger on your FlexDeploy project, and choose the Environment and Stream Name that you're using from Jenkins, then configure a deploy workflow to deploy an artifact from the FlexDeploy Artifact Repository.

    Expand

    Image Modified



Project Execution

  • Go to your Jenkins server where you configured a project using the FlexDeploy plugin.
  • Click Build Now and you should see the project start to execute.
  • Now go back to your FlexDeploy server and navigate to the project you set up to get an artifact from Jenkins. Once the Jenkins build is finished, you should see FlexDeploy start building the project.
  • From there you can use any of FlexDeploy's many plugins to deploy the artifacts.