GitHub composite action for deploying to argoCD
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
needs: build
steps:
- uses: entrecode/action.deploy@latest
with:
PAT: ${{ secrets.PAT }}
NAMESPACE: ${{ vars.NAMESPACE }}
NAME: ${{ vars.NAME }}
version: ${{ needs.build.outputs.version }}
env: ${{ needs.build.outputs.env }}
SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}
SLACK_CHANNEL: ${{ vars.SLACK_CHANNEL }}All inputs are requried to run the action
| Name | Type | Description |
|---|---|---|
PAT |
String | Personal Access Token as GitHub secret |
NAMESPACE |
String | Namespace of the project |
NAME |
String | Name of the project |
SERVICES |
String | Comma separated list of services to deploy, can be used to use dynamic yq paths |
version |
String | Version of the project after the build process (e.g., 1.0.0-dev) |
env |
String | Environment of the Cluster after the build process (e.g., stage) |
SLACK_TOKEN |
String | SLACK_TOKEN for Deployment Bot App in Slack |
SLACK_CHANNEL |
String | Name of the SLACK_CHANNEL for the slack-notifications |
NAMESPACE and NAME have to be defined in GitHub as action-variables. version and env are build-outputs.
The action defaults to the path .node.version and .node.gitsha in version.yaml to update the versions. If you want to use a different path in version.yaml, you can use SERVICES variable. Simply add your list of services as a comma separated list and add your custom path seperated by colon. For example: cronjobA:.my.custom.path,cronjobB:.my.custom.path2. If you omit the path for any service, the default path will be used.