If there are no envs set, adonis complains about it and node ace docs:generate fails. I'm not sure if generating swagger docs really needs envs or not, and because of this, I need to add .envs to my ci/cd pipeline too.
Docker packs the build folder, but generating docs need the original soruce code. (running it inside build folder complains about model paths and stuff)
So, three possible solutions are:
Fix doc generation so it's not dependent on envs. (Don't run start\env.ts when running node ace docs:generate)
Make it possible to generate docs inside build folder (so it can be added to docker compose where .env is present)
Another simple (and maybe the best) way is to add swagger.yaml and swagger.json to git, and just copy them (like how we copy package.json and other files in docker), but developers should make sure that it's always the latest version. Maybe setting up a predev script can force this, or a hook before each commit. But eh, kinda overkill.
I'm trying to integrate this to our ci/cd, but:
node ace docs:generate
fails. I'm not sure if generating swagger docs really needs envs or not, and because of this, I need to add .envs to my ci/cd pipeline too.build
folder, but generating docs need the original soruce code. (running it inside build folder complains about model paths and stuff)So, three possible solutions are:
start\env.ts
when runningnode ace docs:generate
)build
folder (so it can be added to docker compose where .env is present)Another simple (and maybe the best) way is to add swagger.yaml and swagger.json to git, and just copy them (like how we copy package.json and other files in docker), but developers should make sure that it's always the latest version. Maybe setting up a predev script can force this, or a hook before each commit. But eh, kinda overkill.