This GitHub Action is now deprecated and will no longer receive updates or maintenance. Please consider the following points before continuing to use this action:
Learn more about our support for GitHub Actions in our documentation.
GitHub Actions gives you the flexibility to build an automated software development workflows. With GitHub Actions for Okteto Cloud you can create workflows to build, deploy and update your applications in Okteto Cloud.
Get started today with a free Okteto Cloud account!
You can use this action to automatically build your container, push it to the Okteto Registry and deploy it into Okteto Cloud. This is a great way to create preview environments for your pull requests.
This document has more information on this workflow.
namespace
The Okteto namespace to use. If not specified it will use the namespace specified by the namespace
action.
name
The name of the deployment. If not specified it will use the one in your okteto.yml
file.
deploy
Create the deployment if it doesn't exist. If not specified the action will fail if the deployment doesn't exist.
working-directory
The working directory of the action. Defaults to the root folder of the repo.
This example runs the context action, activates a namespace, deploys a kubernetes application and then pushes your changes.
# File: .github/workflows/workflow.yml
on: [push]
name: example
jobs:
devflow:
runs-on: ubuntu-latest
steps:
- uses: okteto/context@latest
with:
token: ${{ secrets.OKTETO_TOKEN }}
- name: "Activate Namespace"
uses: okteto/namespace@latest
with:
name: cindylopez
- name: "Deploy application"
uses: okteto/apply@latest
with:
namespace: cindylopez
manifest: k8s.yaml
- name: "Push changes"
uses: okteto/push@latest
with:
namespace: cindylopez
name: hello-world
You can specify a custom certificate authority or a self-signed certificate by setting the OKTETO_CA_CERT
environment variable. When this variable is set, the action will install the certificate in the container, and then execute the action.
Use this option if you're using a private Certificate Authority or a self-signed certificate in your Okteto Enterprise instance. We recommend that you store the certificate as an encrypted secret, and that you define the environment variable for the entire job, instead of doing it on every step.
# File: .github/workflows/workflow.yml
on: [push]
name: example
jobs:
devflow:
runs-on: ubuntu-latest
env:
OKTETO_CA_CERT: ${{ secrets.OKTETO_CA_CERT }}
steps:
- uses: okteto/context@latest
with:
token: ${{ secrets.OKTETO_TOKEN }}
- name: "Activate Namespace"
uses: okteto/namespace@latest
with:
name: cindylopez
- name: "Deploy application"
uses: okteto/apply@latest
with:
namespace: cindylopez
manifest: k8s.yaml
- name: "Push changes"
uses: okteto/push@latest
with:
namespace: cindylopez
name: hello-world