GitHub Actions meets IBM Cloud Kubernetes Service
IBM is a heavy GitHub user, with hundreds of organizations and thousands of daily commits. The company is now contributing a GitHub Starter Workflow that automates deployments of containerized applications to IBM Cloud Kubernetes Service (IKS). The workflow is available directly from the "Actions" tab of any repository.
IKS targets production workloads that need more than a basic cluster: it provides multizone clusters, managed cluster updates, and compliance certifications for regulated environments including PCI, HIPAA, GDPR, SOC1, and SOC2 Type 2. The new workflow simplifies the path from source code to a running deployment in that environment.
What the workflow does
Selecting Deploy to IBM Cloud Kubernetes Service generates a workflow file that runs five operations by default:
- Installs the IBM Cloud CLI
- Authenticates using an IBM Cloud API key
- Builds the Docker image
- Pushes the image to IBM Cloud Container Registry
- Deploys the image to an IKS cluster
Configuration and secrets
Before committing the generated workflow, you need to set a few repository-level values. Modify the IMAGE_NAME, IKS_CLUSTER, DEPLOYMENT_NAME, and PORT fields to match your application and cluster. The workflow also relies on two GitHub Secrets: one for your IBM Cloud API key and one for your IBM Cloud Container Registry namespace.
GITHUB_SHA: ${{ github.sha }}
IBM_CLOUD_API_KEY: ${{ secrets.IBM_CLOUD_API_KEY }}
IBM_CLOUD_REGION: us-south
ICR_NAMESPACE: ${{ secrets.ICR_NAMESPACE }}
REGISTRY_HOSTNAME: us.icr.io
IMAGE_NAME: iks-test
IKS_CLUSTER: example-iks-cluster-name-or-id
DEPLOYMENT_NAME: iks-test
PORT: 5001
To trigger the workflow, create a release. The sample run below shows a successful execution:
Planned improvements
The next step for IBM's workflow is to split installation and authentication of the IBM Cloud CLI into distinct, reusable actions. This would make it easier for other developers to assemble their own IBM Cloud pipelines on GitHub Actions.
Further details about the workflow's internals are covered in the IBM Developer blog post on deploying an app to Kubernetes with GitHub Actions.



