Deploy with enterprise platforms

4 minute read

Deploy using Ansible, Argo Workflows, Heroku, Octopus, OpenShift, Spinnaker, and Tosca with CloudBees deployment actions.

Run an Ansible playbook

Use the cloudbees-io/ansible-run-job action to run an Ansible playbook via Ansible AWX or Ansible Automation Platform (AAP).

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 1. Input details
Input name Data type Required? Description

url

String

Yes

The URL of Ansible AWX or AAP that has the REST APIs exposed.

token

String

Yes

An API token generated with the appropriate read or write access.

job_template_name

String

Required only if workflow_job_template_name is not specified.

The name of the job template with the Ansible playbook.

workflow_job_template_name

String

Required only if job_template_name is not specified.

The name of the workflow job template for the workflow configured on AWX or AAP.

Usage example

In your YAML file, add:

- name: Run Ansible playbook uses: https://github.com/cloudbees-io/ansible-run-job@v1 with: url: ${{ secrets.ANSIBLE_AWX_URL }} token: ${{ secrets.API_TOKEN }} job_template_name: "sample job template name"

Deploy with Argo Workflows

Use the cloudbees-io/argocd-run-workflow action to run an Argo Workflows workflow, a CI/CD pipeline tool for managing and executing complex workflows in Kubernetes.

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 2. Input details
Input name Data type Required? Description

url

String

Yes

The Argo Workflows server URL.

token

String

Yes

The Argo Workflows token.

namespace

String

Yes

The Argo Workflows namespace.

workflow-name

String

Yes

The Argo Workflows name.

parameters

JSON

No

Any additional parameters, formatted as JSON data in key/value pairs.

Usage example

In your YAML file, add:

- name: Run Argo Workflows uses: https://github.com/cloudbees-io/argocd-run-workflow@v2 with: url: ${{ ARGO_URL }} token: ${{ ARGO_TOKEN }} namespace: "Argo_namespace" workflow-name: "Argo_workflow_name" parameters: '{"BRANCH_NAME":"main","ENV_NAME":"prod"}'

Deploy with Heroku

Use the cloudbees-io/heroku-run-job action to trigger Heroku APIs to build and deploy your application, and fetch the stdout logs as output.

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 3. Input details
Input name Data type Required? Description

token

String

Yes

The Heroku API token generated with read or write access.

application_name

String

Yes

The Heroku application name, which is a unique identifier for the application environment where the build occurs.

repository_name

String

Yes

The name of the repository where the source code resides.

private_repository_personal_access_token

String

Yes

The personal access token to clone the source repository.

Usage example

In your YAML file, add:

- name: Run Heroku job uses: https://github.com/cloudbees-io/heroku-run-job@v1 with: url: "https://api.heroku.com" token: ${{ secrets.HEROKU_TOKEN }} application_name: ${{ inputs.application_name }} repository_name: ${{ inputs.repository_name }} private_repository_personal_access_token: ${{ secrets.HEROKU_REPOSITORY_PERSONAL_ACCESS_TOKEN }}

Deploy with Octopus

Use the cloudbees-io/octopus-run-project action to deliver your software with Octopus Deploy, a deployment automation tool.

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 4. Input details
Input name Data type Required? Description

url

String

Yes

The Octopus Deploy server URL.

token

String

Yes

The Octopus Deploy token.

space-name

String

Yes

The Octopus Deploy space name.

release

String

Yes

The Octopus Deploy release version.

environment-name

String

Yes

The Octopus Deploy environment name.

channel-name

String

No

The Octopus Deploy channel name.

Usage example

In your YAML file, add:

- name: Run Octopus Deploy uses: https://github.com/cloudbees-io/octopus-run-project@v2 with: url: https://example.octopus.app token: ${{ secrets.OCTOPUS_TOKEN }} space-name: Default release: 1.0.0 environment-name: Stage channel-name: Default

Deploy with OpenShift

Use the cloudbees-io/openshift-invoke-deployment action to trigger Red Hat OpenShift, a hybrid cloud platform that uses Linux containers and Kubernetes to manage applications. The action builds and deploys your application and fetches stdout logs as output.

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 5. Input details
Input name Data type Required? Description

url

String

Yes

The OpenShift cluster URL.

token

String

Yes

The OpenShift API token. Must have read/write access.

project_name

String

Yes

The OpenShift project name, a unique identifier for the application environment when building and deployment occurs.

repository_name

String

Yes

The source code repository name.

repository_config_yaml_paths

String

Yes

The paths to the configuration files required to build and deploy the application, listed in deployment order.

Usage example

In your YAML file, add:

steps: - name: Build and deploy with OpenShift uses: https://github.com/cloudbees-io/openshift-invoke-deployment@v1 with: url: ${{ vars.OPENSHIFT_URL }} token: ${{ secrets.OPENSHIFT_TOKEN }} project_name: unique-openshift-project-name repository_name: ${{ vars.REPO_NAME }} repository_config_yaml_paths: my-dir/my-config

Deploy with Spinnaker

Use the cloudbees-io/spinnaker-run-pipeline action to deploy your application with Spinnaker, an open-source, multi-cloud continuous delivery platform.

All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 6. Input details
Input name Data type Required? Description

url

String

Yes

The Spinnaker server URL.

token

String

Yes

The Spinnaker token.

app-name

String

Yes

The application name in Spinnaker.

pipeline-name

String

Required only if webhook-url is not specified.

The Spinnaker pipeline name for the requested application.

webhook-url

String

Required only if pipeline-name is not specified.

The Spinnaker webhook URL for the requested application.

parameters

JSON

No

Any additional parameters, formatted as JSON data in key/value pairs.

Usage example

In your YAML file, add:

- name: Deploy with Spinnaker uses: https://github.com/cloudbees-io/spinnaker-run-pipeline@v1 with: url: ${{ SPINNAKER_URL }} token: ${{ secrets.SPINNAKER_TOKEN }} app-name: my_application pipeline-name: new_deploy webhook-url: https://my-webhook-example.net parameters: '{}'

Deploy with Tosca

Use the cloudbees-io/tosca-run-job action to execute a Tricentis Tosca cloud playlist, a software testing tool that automates end-to-end testing for software applications.

You must use the Publish test results action to populate the Test Insights dashboard with Tosca testing results.
All CloudBees action repositories are listed at CloudBees, Inc. on GitHub.

Inputs

Table 7. Input details
Input name Data type Required? Description

tosca_cloud_base_url

String

Yes

The Tosca cloud URL.

tosca_auth_url

String

Yes

The URL of the authorization server (available in the Swagger UI).

client_id

String

Yes

The Tosca cloud API client ID.

client_secret

String

Yes

The Tosca cloud API token.

playlist_name

String

Yes

The name of the playlist to be executed.

workspace

String

Yes

The name of the workspace.

Usage example

In your YAML file, add:

- name: Test with Tosca uses: https://github.com/cloudbees-io/tosca-run-job@v1 with: tosca_cloud_base_url: "https://your-company.my.tricentis.com/" tosca_auth_url: "https://your-company.okta.com/oauth2/default/v1/token" client_id: ${{ secrets.TOSCA_CLIENT_ID }} client_secret: ${{ secrets.TOSCA_CLIENT_SECRET }} playlist_name: "sample playlist" workspace: "sample workspace"