An open API service indexing awesome lists of open source software.

https://github.com/wisersolutions/gitops-deploy

Commit to a GitHub repository with the latest version of your app to trigger a deployment (with ex. ArgoCD, Flux)
https://github.com/wisersolutions/gitops-deploy

Last synced: 10 months ago
JSON representation

Commit to a GitHub repository with the latest version of your app to trigger a deployment (with ex. ArgoCD, Flux)

Awesome Lists containing this project

README

          

GitOps Deploy for GitHub Actions
====

This repo provides a module to automatically update a version reference within a GitOps YAML repository. This can be combined with a GitOps compatible tools (such as [ArgoCD](https://argoproj.github.io/argo-cd/) or [Flux](https://fluxcd.io/)) to automatically deploy the latest app artifacts to your environments.

## Basic Usage

Add a step to your deployment workflow, after you have packaged your code (with Docker or otherwise):

```
- uses: WiserSolutioons/gitops-deploy@v1
with:
repository: /
ref: test/prod/whatever
path: kube/.yaml
token: ${{ secrets. }}

field: 0.image.tag # or whatever the yaml field is where you put the version of your app
new-version:
```

## Options Reference

| Name | Required | Description |
| ------------------------:|:--------:| ---------------------------------------------------------------- |
| `host` | no | SSH host of your GitOps repository |
| `repository` | yes | Path of your GitHub repo (ex. Org/repo-name) |
| `ref` | yes | Branch or Git identifier to commit on (including `refs/heads/`) |
| `token` | yes | Authentication for GitHub HTTP |
| `path` | yes | Path of the file which configures this service |
| `field` | yes | Location within the YAML to insert the new version/tag, in [lodash.set syntax](https://lodash.com/docs/4.17.15#set) |
| `new-version` | yes | String which should be set as the new version in the given field |
| `retryCount` | no | Number of times to retry if commit fails due to remote conflicts |