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.