CI/CD custom app using Helm

Hi,
how can i create custom app after i created an erpnext release using Helm.
Could you share what is you CI/CD pipeline or best practice when devloping frappe apps with k8s

i know that @revant_one your are the one that initiate the helm repo and thanks for it! but it will be greate to have more explanation regarding CI/CD within the doc

Thanks !

in brief,

I don’t recommend auto deploy for production.

optionally use gitops to manage state of cluster.

Thanks for your answer could you share the tools you are using with you pipeline please.
I am starting in devops also so if you have some must read content or must know technology to share in general it will be great
thanks

There are 2 repos:

  1. builder repo, that refers custom_frappe_docker, it is set of apps to be built into 1 image. This is what will be needed from v14 as multiple custom apps will be installed.
  2. actual custom app code repo. This repo hosts the code, it doesn’t build images it just checks for lint, format, commit.

To run jobs: Gitlab / Gitlab Runner

To build images:

  • docker:dind
  • docker buildx bake

refer: GitHub - castlecraft/custom_frappe_docker for .gitlab-ci.yaml

Check format, lint, conventional commit:

  • black
  • flake8
  • eslint
  • prettier
  • commitlint

refer: Check lint-format and conventional commit for frappe custom apps ($2315775) · Snippets · Snippets · GitLab

Tests:

  • Use frappe’s testing tools (Optional, it needs db connection)
  • Start the bench services, restore/migrate test db, run ReST api calls to check responses. (end-to-end tests)