Skip to content
upload-cloud

GitHub Action

Deploy to IBM Cloud Foundry

v2.1 Latest version

Deploy to IBM Cloud Foundry

upload-cloud

Deploy to IBM Cloud Foundry

Deploy an application to Cloud Foundry on IBM Cloud

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Deploy to IBM Cloud Foundry

uses: IBM/cloudfoundry-deploy@v2.1

Learn more about this action in IBM/cloudfoundry-deploy

Choose a version

IBM Cloud Foundry Deploy

GitHub action for deploying applications to IBM Cloud Foundry using an App Manifest file.

Prerequisites

Setup

Parameters

DISCLAIMER: It's recommended that you use GitHub encrypted secrets to keep your sensitive data safe.

  • IBM_CLOUD_API_KEY

    The IBM Cloud API key is necessary to authenticate this GitHub Action with IBM. Details on how to create an API key can be found here.

  • IBM_CLOUD_CF_API

    The IBM Cloud Foundry API endpoint is used to connect and to deploy the application. A list of supported regions and API Endpoints can be found here.

  • IBM_CLOUD_CF_SPACE

    Apps in an IBM Cloud Foundry Enterprise Environment are scoped within specific spaces. A space exists within a specific organziation. A guide on how to create organizations and spaces can be found here.

  • IBM_CLOUD_CF_ORG

    The Cloud Foundry organization name in which the IBM_CLOUD_CF_SPACE exists.

  • APP_MANIFEST_FILE (optional, default: manifest.yml)

    An App Manifest file contains metadata necessary for the deployment like the name of the application which should be deployed. They provide consistency, reproducibility and can be used for customizations like amount of instances, disk space limit, and memory limit. For a full list of attributes you can specify in an application manifest, see App Manifest Attribute Reference.

    Example Manifest file:

    ---
    applications:
    - name: YOUR-APP
  • APP_VARS_FILE (optional)

    Use this option to supply a variables file when pushing the application. The App Manifest file can contain variables for deployment to different environments, using the ((VARIABLE-NAME)) syntax. The variables are resolved at push time using this variables file, if supplied. For more on how to set up variables, see the 'Add Variables to a Manifest' section of the App Manifest Attribute Reference.

  • RESOURCE_GROUP (optional)

    A resource group is a way for you to organize your account resources in customizable groupings. Details about resource groups and how to set them up can be found here

Workflow Example

name: Deploy to IBM Cloud Foundry
on:
  push:
    branches: [ master ]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Deploy to IBM Cloud Foundry
        # You may pin to the exact commit or the version.
        uses: IBM/cloudfoundry-deploy@master
        with:
          IBM_CLOUD_API_KEY: ${{ secrets.IBM_CLOUD_API_KEY }}
          IBM_CLOUD_CF_API: ${{ secrets.IBM_CLOUD_CF_API }}
          IBM_CLOUD_CF_ORG: ${{ secrets.IBM_CLOUD_CF_ORG }}
          IBM_CLOUD_CF_SPACE: ${{ secrets.IBM_CLOUD_CF_SPACE }}