> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CI/CD with GitHub Actions

> Build and deploy to your cluster on every push

Set up a GitHub Actions workflow that builds your app's images and deploys to your Monk cluster on every push.

## Before you start

* The app is deployed to a cluster at least once. See [Deploy an existing app](/guides/deploy-existing-app).
* The project has a `MANIFEST` with images and Dockerfiles.
* The repository is on GitHub. GitHub Actions is the only CI system Monk sets up.

## Ask Monk

```
/monk set up CI/CD for this repo
```

## What you review

1. **GitHub credentials.** If Monk doesn't have them yet, a GitHub form opens in the [local dashboard](/getting-started/local-dashboard). Enter them there, never in chat.
2. **The plan.** It shows the workflow file, the cluster it deploys to, and the secrets it will add to the repository. Nothing is created or pushed until you approve.

## What you get

* `.github/workflows/deploy.yml` in your repository, built on Monk's published actions (`monk-io/monk-actions`)
* A cluster service token, valid for 90 days, and the registry and cluster connection details, stored as GitHub secrets
* A deploy to the same cluster on every push

Commit the workflow file. From then on, pushing is enough. To deploy without pushing, ask Monk directly:

```
/monk deploy the latest changes
```

## Keeping it working

* **The token expires after 90 days.** Run the setup again to mint a new one.
* **Moved to another cluster?** Run the setup again so the workflow points at the right one.
* **Workflow failing?** Open the run in GitHub Actions, or ask Monk to look at the cluster side:

```
/monk the deploy workflow failed, check the cluster and the api logs
```

## Limits

* The workflow deploys to one fixed cluster. For an environment per branch, use [Preview environments](/guides/preview-environments) instead.
* Only GitHub Actions is supported.

## Next

* [Preview environments](/guides/preview-environments)
* [Logs and debugging](/guides/logs-and-debugging)
* [Deployments](/concepts/deployments)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.