@nathapp/na-cli 1.0.0-rc.4 → 1.0.0-rc.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/.gitlab-ci.yml +135 -0
  2. package/Makefile +16 -9
  3. package/README.md +18 -2
  4. package/alias-script.sh +30 -0
  5. package/dist/index.js +106 -128
  6. package/dist/index.js.map +1 -1
  7. package/dist/templates/db-schema/.gitignore-rename +1 -0
  8. package/dist/templates/db-schema/.gitlab-ci.yml +139 -0
  9. package/dist/templates/db-schema/001_Schema.sql +1 -0
  10. package/dist/templates/db-schema/DEV_MODE.txt +1 -0
  11. package/dist/templates/db-schema/Dockerfile +3 -0
  12. package/dist/templates/db-schema/Email-Templates/Individual/README.md +1 -0
  13. package/dist/templates/db-schema/GET_VERSION.sql +47 -0
  14. package/dist/templates/db-schema/Makefile +885 -0
  15. package/dist/templates/db-schema/README.md +117 -0
  16. package/dist/templates/db-schema/SET_VERSION.sql +5 -0
  17. package/dist/templates/db-schema/docker-compose.yaml +47 -0
  18. package/dist/templates/db-schema/package.json +3 -0
  19. package/dist/templates/db-schema/push.sh +0 -0
  20. package/dist/templates/db-schema/samples/899_DB_Grant_User.sql +9 -0
  21. package/dist/templates/db-schema/samples/990_SAMPLE_Init_Data.sql +27 -0
  22. package/dist/templates/k8s-deployment/.gitignore-rename +1 -0
  23. package/dist/templates/k8s-deployment/.gitlab-ci.yml +128 -0
  24. package/dist/templates/k8s-deployment/.helmignore +23 -0
  25. package/dist/templates/k8s-deployment/Chart.yaml +23 -0
  26. package/dist/templates/k8s-deployment/Makefile +196 -0
  27. package/dist/templates/k8s-deployment/README.md +32 -0
  28. package/dist/templates/k8s-deployment/resources/charts/mysql/Chart.yaml +23 -0
  29. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/Chart.yaml +23 -0
  30. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/script/Makefile +12 -0
  31. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/_helpers.tpl +62 -0
  32. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/configmap.yaml +1 -0
  33. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/job.yaml +1 -0
  34. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/secret.yaml +1 -0
  35. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/values.yaml +51 -0
  36. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/_helpers.tpl +62 -0
  37. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/configmap.yaml +1 -0
  38. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/deployment.yaml +1 -0
  39. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/ingress.yaml +1 -0
  40. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/job.yaml +1 -0
  41. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/pv.yaml +1 -0
  42. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/pvc.yaml +1 -0
  43. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/sc.yaml +1 -0
  44. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/secret.yaml +1 -0
  45. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/service.yaml +1 -0
  46. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/statefulset.yaml +1 -0
  47. package/dist/templates/k8s-deployment/resources/charts/mysql/values.yaml +15 -0
  48. package/dist/templates/k8s-deployment/resources/charts/redis/Chart.yaml +23 -0
  49. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/Chart.yaml +23 -0
  50. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/script/Makefile +8 -0
  51. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/_helpers.tpl +62 -0
  52. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/configmap.yaml +1 -0
  53. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/job.yaml +1 -0
  54. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/secret.yaml +1 -0
  55. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/values.yaml +42 -0
  56. package/dist/templates/k8s-deployment/resources/charts/redis/templates/_helpers.tpl +62 -0
  57. package/dist/templates/k8s-deployment/resources/charts/redis/templates/configmap.yaml +1 -0
  58. package/dist/templates/k8s-deployment/resources/charts/redis/templates/deployment.yaml +1 -0
  59. package/dist/templates/k8s-deployment/resources/charts/redis/templates/ingress.yaml +1 -0
  60. package/dist/templates/k8s-deployment/resources/charts/redis/templates/job.yaml +1 -0
  61. package/dist/templates/k8s-deployment/resources/charts/redis/templates/pv.yaml +1 -0
  62. package/dist/templates/k8s-deployment/resources/charts/redis/templates/pvc.yaml +1 -0
  63. package/dist/templates/k8s-deployment/resources/charts/redis/templates/sc.yaml +1 -0
  64. package/dist/templates/k8s-deployment/resources/charts/redis/templates/secret.yaml +1 -0
  65. package/dist/templates/k8s-deployment/resources/charts/redis/templates/service.yaml +1 -0
  66. package/dist/templates/k8s-deployment/resources/charts/redis/templates/statefulset.yaml +1 -0
  67. package/dist/templates/k8s-deployment/resources/charts/redis/values.yaml +12 -0
  68. package/dist/templates/k8s-deployment/services/charts/hooks/Chart.yaml +23 -0
  69. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/Chart.yaml +23 -0
  70. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/Makefile +49 -0
  71. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/_env.yaml +2 -0
  72. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/_helpers.tpl +62 -0
  73. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/configmap.yaml +1 -0
  74. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/job.yaml +1 -0
  75. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/secret.yaml +1 -0
  76. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/values.yaml +36 -0
  77. package/dist/templates/k8s-deployment/services/charts/sample-nginx/Chart.yaml +23 -0
  78. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/_helpers.tpl +62 -0
  79. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/cluster-role-binding.yaml +1 -0
  80. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/configmap.yaml +1 -0
  81. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/cronjob.yaml +1 -0
  82. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/deployment.yaml +1 -0
  83. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/ingress.yaml +1 -0
  84. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/pv.yaml +1 -0
  85. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/pvc.yaml +1 -0
  86. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/sc.yaml +1 -0
  87. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/secret.yaml +1 -0
  88. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/service-account.yaml +1 -0
  89. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/service.yaml +1 -0
  90. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/statefulset.yaml +1 -0
  91. package/dist/templates/k8s-deployment/services/charts/sample-nginx/values.yaml +47 -0
  92. package/dist/templates/k8s-deployment/services/charts/tests/Chart.yaml +23 -0
  93. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Chart.yaml +23 -0
  94. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Makefile +9 -0
  95. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/fixtures/index.json +1 -0
  96. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/login-spec.js +47 -0
  97. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/loginEmailWrong-spec.js +14 -0
  98. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/loginPasswordWrong-spec.js +14 -0
  99. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/profile/updatePassword-spec.js +15 -0
  100. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/profile/updateProfile-spec.js +25 -0
  101. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/test-script.spec.js +9 -0
  102. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/plugins/index.js +22 -0
  103. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/commands.js +258 -0
  104. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/index.js +35 -0
  105. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/misc.js +8 -0
  106. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress.json +4 -0
  107. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/_helpers.tpl +62 -0
  108. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/configmap.yaml +1 -0
  109. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/pod.yaml +1 -0
  110. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/secret.yaml +1 -0
  111. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/values.yaml +70 -0
  112. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/.helmignore +2 -0
  113. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/Chart.yaml +23 -0
  114. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/script/Makefile +14 -0
  115. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/_helpers.tpl +62 -0
  116. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/configmap.yaml +1 -0
  117. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/pod.yaml +1 -0
  118. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/secret.yaml +1 -0
  119. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/_t-0100-readiness-liveness.ts +84 -0
  120. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/hub.ts +372 -0
  121. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contact.ts +158 -0
  122. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contract.ts +328 -0
  123. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-kyc.ts +304 -0
  124. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-app.ts +823 -0
  125. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-web.ts +493 -0
  126. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-profile.ts +277 -0
  127. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-whitelist.ts +133 -0
  128. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/live.jpg +0 -0
  129. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/mykad_front.jpg +0 -0
  130. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/profile.jpg +0 -0
  131. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/t-0200-start.ts +172 -0
  132. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/values.yaml +59 -0
  133. package/dist/templates/k8s-deployment/templates/_cluster-role-binding.tpl +20 -0
  134. package/dist/templates/k8s-deployment/templates/_configmap.tpl +37 -0
  135. package/dist/templates/k8s-deployment/templates/_cronjob.tpl +225 -0
  136. package/dist/templates/k8s-deployment/templates/_deployment.tpl +246 -0
  137. package/dist/templates/k8s-deployment/templates/_helpers.tpl +31 -0
  138. package/dist/templates/k8s-deployment/templates/_ingress.tpl +77 -0
  139. package/dist/templates/k8s-deployment/templates/_job.tpl +233 -0
  140. package/dist/templates/k8s-deployment/templates/_pod.tpl +214 -0
  141. package/dist/templates/k8s-deployment/templates/_pv.tpl +42 -0
  142. package/dist/templates/k8s-deployment/templates/_pvc.tpl +27 -0
  143. package/dist/templates/k8s-deployment/templates/_root.tpl +314 -0
  144. package/dist/templates/k8s-deployment/templates/_sc.tpl +19 -0
  145. package/dist/templates/k8s-deployment/templates/_secret.tpl +15 -0
  146. package/dist/templates/k8s-deployment/templates/_service-account.tpl +8 -0
  147. package/dist/templates/k8s-deployment/templates/_service.tpl +40 -0
  148. package/dist/templates/k8s-deployment/templates/_statefulset.tpl +244 -0
  149. package/dist/templates/k8s-deployment/templates/root-cm.yaml +10 -0
  150. package/dist/templates/k8s-deployment/templates/root-pull-secret.yaml +11 -0
  151. package/dist/templates/k8s-deployment/templates/root-secret.yaml +24 -0
  152. package/dist/templates/k8s-deployment/values.yaml +38 -0
  153. package/dist/templates/k8s-helm-chart/Chart.yaml +23 -0
  154. package/dist/templates/k8s-helm-chart/templates/_helpers.tpl +62 -0
  155. package/dist/templates/k8s-helm-chart/templates/cluster-role-binding.yaml +1 -0
  156. package/dist/templates/k8s-helm-chart/templates/configmap.yaml +1 -0
  157. package/dist/templates/k8s-helm-chart/templates/cronjob.yaml +1 -0
  158. package/dist/templates/k8s-helm-chart/templates/deployment.yaml +1 -0
  159. package/dist/templates/k8s-helm-chart/templates/ingress.yaml +1 -0
  160. package/dist/templates/k8s-helm-chart/templates/pv.yaml +1 -0
  161. package/dist/templates/k8s-helm-chart/templates/pvc.yaml +1 -0
  162. package/dist/templates/k8s-helm-chart/templates/sc.yaml +1 -0
  163. package/dist/templates/k8s-helm-chart/templates/secret.yaml +1 -0
  164. package/dist/templates/k8s-helm-chart/templates/service-account.yaml +1 -0
  165. package/dist/templates/k8s-helm-chart/templates/service.yaml +1 -0
  166. package/dist/templates/k8s-helm-chart/templates/statefulset.yaml +1 -0
  167. package/dist/templates/k8s-helm-chart/values.yaml +41 -0
  168. package/dist/templates/mxw-base-api-express/.dockerignore +2 -0
  169. package/dist/templates/mxw-base-api-express/.env +10 -0
  170. package/dist/templates/mxw-base-api-express/.gitignore-rename +3 -0
  171. package/dist/templates/mxw-base-api-express/.gitlab-ci.yml +174 -0
  172. package/dist/templates/mxw-base-api-express/.nvmrc +1 -0
  173. package/dist/templates/mxw-base-api-express/Dockerfile +14 -0
  174. package/dist/templates/mxw-base-api-express/Makefile +84 -0
  175. package/dist/templates/mxw-base-api-express/README.md +71 -0
  176. package/dist/templates/mxw-base-api-express/package.json +55 -0
  177. package/dist/templates/mxw-base-api-express/src/app-service.test.ts +94 -0
  178. package/dist/templates/mxw-base-api-express/src/app-service.ts +498 -0
  179. package/dist/templates/mxw-base-api-express/src/auth/auth-user.test.ts +215 -0
  180. package/dist/templates/mxw-base-api-express/src/auth/auth-user.ts +86 -0
  181. package/dist/templates/mxw-base-api-express/src/auth/auth.ts +81 -0
  182. package/dist/templates/mxw-base-api-express/src/core-service.ts +72 -0
  183. package/dist/templates/mxw-base-api-express/src/crud.ts +84 -0
  184. package/dist/templates/mxw-base-api-express/src/http-handler.ts +71 -0
  185. package/dist/templates/mxw-base-api-express/src/server.ts +54 -0
  186. package/dist/templates/mxw-base-api-express/src/test.ts +38 -0
  187. package/dist/templates/mxw-base-api-express/src/utils/api-utilities.ts +52 -0
  188. package/dist/templates/mxw-base-api-express/src/utils/file-utilities.ts +55 -0
  189. package/dist/templates/mxw-base-api-express/tsconfig.json +32 -0
  190. package/dist/templates/nestjs-api/.dockerignore +2 -0
  191. package/dist/templates/nestjs-api/.env +12 -0
  192. package/dist/templates/nestjs-api/.eslintrc.js +25 -0
  193. package/dist/templates/nestjs-api/.gitignore-rename +35 -0
  194. package/dist/templates/nestjs-api/.gitlab-ci.yml +174 -0
  195. package/dist/templates/nestjs-api/.nvmrc +1 -0
  196. package/dist/templates/nestjs-api/.prettierrc +4 -0
  197. package/dist/templates/nestjs-api/Dockerfile +19 -0
  198. package/dist/templates/nestjs-api/Makefile +84 -0
  199. package/dist/templates/nestjs-api/README.md +67 -0
  200. package/dist/templates/nestjs-api/nest-cli.json +8 -0
  201. package/dist/templates/nestjs-api/package.json +75 -0
  202. package/dist/templates/nestjs-api/src/app.controller.spec.ts +22 -0
  203. package/dist/templates/nestjs-api/src/app.controller.ts +27 -0
  204. package/dist/templates/nestjs-api/src/app.module.ts +10 -0
  205. package/dist/templates/nestjs-api/src/app.service.ts +12 -0
  206. package/dist/templates/nestjs-api/src/main.ts +31 -0
  207. package/dist/templates/nestjs-api/test/app.e2e-spec.ts +24 -0
  208. package/dist/templates/nestjs-api/test/jest-e2e.json +9 -0
  209. package/dist/templates/nestjs-api/tsconfig.build.json +4 -0
  210. package/dist/templates/nestjs-api/tsconfig.json +22 -0
  211. package/dist/templates/nestjs-library/.eslintrc.js +24 -0
  212. package/dist/templates/nestjs-library/.gitignore-rename +39 -0
  213. package/dist/templates/nestjs-library/.gitlab-ci.yml +135 -0
  214. package/dist/templates/nestjs-library/.npmignore-rename +30 -0
  215. package/dist/templates/nestjs-library/.prettierrc +6 -0
  216. package/dist/templates/nestjs-library/LICENSE +21 -0
  217. package/dist/templates/nestjs-library/Makefile +60 -0
  218. package/dist/templates/nestjs-library/README.md +3 -0
  219. package/dist/templates/nestjs-library/index.d.ts +1 -0
  220. package/dist/templates/nestjs-library/index.js +6 -0
  221. package/dist/templates/nestjs-library/index.ts +1 -0
  222. package/dist/templates/nestjs-library/lib/index.ts +2 -0
  223. package/dist/templates/nestjs-library/package.json +41 -0
  224. package/dist/templates/nestjs-library/tsconfig.build.json +4 -0
  225. package/dist/templates/nestjs-library/tsconfig.json +18 -0
  226. package/dist/templates/ts-library/.dockerignore +2 -0
  227. package/dist/templates/ts-library/.eslintrc.js +24 -0
  228. package/dist/templates/ts-library/.gitignore-rename +37 -0
  229. package/dist/templates/ts-library/.gitlab-ci.yml +135 -0
  230. package/dist/templates/ts-library/.npmignore-rename +30 -0
  231. package/dist/templates/ts-library/.prettierrc +6 -0
  232. package/dist/templates/ts-library/LICENSE +21 -0
  233. package/dist/templates/ts-library/Makefile +58 -0
  234. package/dist/templates/ts-library/README.md +1 -0
  235. package/dist/templates/ts-library/index.d.ts +1 -0
  236. package/dist/templates/ts-library/index.js +6 -0
  237. package/dist/templates/ts-library/index.ts +1 -0
  238. package/dist/templates/ts-library/lib/index.ts +1 -0
  239. package/dist/templates/ts-library/lib/samples/index.ts +5 -0
  240. package/dist/templates/ts-library/lib/samples/samples-function.ts +3 -0
  241. package/dist/templates/ts-library/package.json +34 -0
  242. package/dist/templates/ts-library/test/jest-e2e.json +9 -0
  243. package/dist/templates/ts-library/test/sample.e2e-spec.ts +10 -0
  244. package/dist/templates/ts-library/tsconfig.build.json +4 -0
  245. package/dist/templates/ts-library/tsconfig.json +18 -0
  246. package/dist/utils/env.js +146 -0
  247. package/dist/utils/env.js.map +1 -0
  248. package/dist/utils/template.js +362 -1
  249. package/dist/utils/template.js.map +1 -1
  250. package/package.json +9 -5
  251. package/src/index.ts +0 -182
  252. package/src/utils/template.ts +0 -9
package/.gitlab-ci.yml ADDED
@@ -0,0 +1,135 @@
1
+ stages:
2
+ - test
3
+ # run test cases
4
+ - prepare
5
+ - build
6
+ - build-commit
7
+ - release
8
+ - notify
9
+
10
+ run-test:
11
+ stage: test
12
+ image: node:10.13.0-jessie
13
+ script:
14
+ - make test
15
+ rules:
16
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/'
17
+ when: never
18
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
19
+ - if: '$CI_COMMIT_REF_PROTECTED == "true"'
20
+ - if: '$CI_COMMIT_MESSAGE =~ /run-test/'
21
+ - if: '$CI_COMMIT_MESSAGE =~ /run-prerelease/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
22
+ - if: '$CI_COMMIT_MESSAGE =~ /run-release/ && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
23
+ # NOT triggerred by bot
24
+ # merge request
25
+ # commit to protected branch
26
+ # commit message contains `run-test` keyword
27
+ # commit message contains `run-prerelease` keyword and commit branch is nott default branch (master)
28
+ # commit message contains `run-release` keyword and commit branch is default branch (master)
29
+
30
+
31
+ run-pre-prepare:
32
+ stage: prepare
33
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci-1
34
+ artifacts:
35
+ paths:
36
+ - package.json
37
+ - package-lock.json
38
+ script:
39
+ - make version-prerelease
40
+ rules:
41
+ # NOT triggerred by bot and NOT commit message contains `run-without-release` keyword and NOT merge request and NOT tag was created
42
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/ || $CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG != null'
43
+ when: never
44
+ # Commit message contains `run-prerelease` keyword and commit branch is not default branch (master)
45
+ - if: '$CI_COMMIT_MESSAGE =~ /run-prerelease/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
46
+
47
+ run-prepare:
48
+ stage: prepare
49
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci-1
50
+ artifacts:
51
+ paths:
52
+ - package.json
53
+ - package-lock.json
54
+ script:
55
+ - make version-patch
56
+ rules:
57
+ # NOT triggerred by bot and NOT commit message contains `run-without-release` keyword and NOT merge request and NOT tag was created
58
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/ || $CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG != null'
59
+ when: never
60
+ # Commit into default branch (master)
61
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
62
+
63
+
64
+ run-build:
65
+ stage: build
66
+ image:
67
+ name: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:16.3.0-alpine-ci-1
68
+ before_script:
69
+ - npm ci --cache .npm --prefer-offline
70
+ - npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
71
+ script:
72
+ - make build
73
+ - make release
74
+
75
+ rules:
76
+ # NOT triggerred by bot and NOT commit message contains `run-without-release` keyword and NOT merge request and NOT tag was created
77
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/ || $CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG != null'
78
+ when: never
79
+ # Commit message contains `run-prerelease` keyword and commit branch is not default branch (master)
80
+ - if: '$CI_COMMIT_MESSAGE =~ /run-prerelease/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
81
+ # Commit into default branch (master)
82
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
83
+
84
+
85
+ run-build-commit:
86
+ stage: build-commit
87
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci-1
88
+ before_script:
89
+ - git config --global user.name "$GITLAB_USER_NAME"
90
+ - git config --global user.email "$GITLAB_USER_EMAIL"
91
+ script:
92
+ - git add -A
93
+ - git commit -m "$(make version)" -m "== release-by-bot ($CI_COMMIT_SHA) =="
94
+ - git tag -a "$(make version)" -m "$(cat image-tag.txt) ($(cat image-digest.txt))"
95
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" "HEAD:${CI_COMMIT_BRANCH}"
96
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" --tags
97
+ rules:
98
+ # NOT triggerred by bot and NOT commit message contains `run-without-release` keyword and NOT merge request and NOT tag was created
99
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/ || $CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG != null'
100
+ when: never
101
+ # Commit message contains `run-prerelease` keyword and commit branch is not default branch (master)
102
+ - if: '$CI_COMMIT_MESSAGE =~ /run-prerelease/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
103
+ # Commit into default branch (master)
104
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
105
+
106
+ run-release:
107
+ stage: release
108
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci-1
109
+ script:
110
+ - echo "Bumped version $(make version)"
111
+ rules:
112
+ # NOT commit message contains `run-without-release` keyword and NOT merge request
113
+ - if: '$CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event"'
114
+ when: never
115
+ # Tag was created
116
+ - if: '$CI_COMMIT_TAG != null'
117
+
118
+
119
+ run-notify:
120
+ stage: notify
121
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci-1
122
+ before_script:
123
+ - apk --no-cache add curl
124
+ script:
125
+ - 'curl -X POST -H "Content-Type: application/json" -d "{\"chat_id\": \"$TELEGRAM_CHAT_ID\", \"text\": \"CI: $CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME version:$(make version) has been released \"}" https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage'
126
+ rules:
127
+ # NOT triggerred by bot and NOT commit message contains `run-without-release` keyword and NOT merge request and NOT tag was created
128
+ - if: '$CI_COMMIT_MESSAGE =~ /release-by-bot/ || $CI_COMMIT_MESSAGE =~ /run-without-release/ || $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG != null'
129
+ when: never
130
+ - if: '$TELEGRAM_BOT_TOKEN == null || $TELEGRAM_BOT_TOKEN == "" || $TELEGRAM_CHAT_ID == null || $TELEGRAM_CHAT_ID == ""'
131
+ when: never
132
+ # Commit message contains `run-prerelease` keyword and commit branch is not default branch (master)
133
+ - if: '$CI_COMMIT_MESSAGE =~ /run-prerelease/ && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
134
+ # Commit into default branch (master)
135
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
package/Makefile CHANGED
@@ -1,5 +1,6 @@
1
1
  MAKEFILE := $(abspath $(lastword $(MAKEFILE_LIST)))
2
2
  ROOT_PATH := $(shell pwd)
3
+ SERVICE_NAME := na-cli
3
4
 
4
5
  .PHONY: test
5
6
 
@@ -50,17 +51,23 @@ name:
50
51
  test:
51
52
  @echo "Skipped"
52
53
 
53
- build-prerelease: version-prerelease
54
+ build:
54
55
  @npm run build
55
56
 
56
- build: version-patch
57
- @npm run build
58
-
59
- release:
57
+ release:
60
58
  @npm publish --access public
61
59
 
62
- publish-prerelease: build-prerelease
63
- @make --no-print-directory release
60
+ # build-prerelease: version-prerelease
61
+ # @npm run build
62
+
63
+ # build: version-patch
64
+ # @npm run build
65
+
66
+ # release:
67
+ # @npm publish --access public
68
+
69
+ # publish-prerelease: build-prerelease
70
+ # @make --no-print-directory release
64
71
 
65
- publish: build
66
- @make --no-print-directory release
72
+ # publish: build
73
+ # @make --no-print-directory release
package/README.md CHANGED
@@ -1,5 +1,21 @@
1
- # na-cli
1
+ ## na-cli
2
2
 
3
- Command line for create a project with your own templates
3
+ Command line for create a project with your own templates, and other template job
4
4
 
5
+ 1. Note: when `npm publish`, npm will ignore files inside .npmignore which will cause missing files on generated projects, so please rename .npmignore to .npmignore-rename, template engine will auto rename .npmignore-rename back .npmignore
6
+
7
+ ## Template Generation Version 1.0.0
8
+
9
+ 1. ts-library template 1.0.0
10
+ 2. mxw-base-api-express template 1.0.0
11
+ 3. db-schema 1.0.0
12
+ 4. k8s-deployments 1.0.0
13
+ 5. nestjs-api 1.0.0
14
+ - with nestjs ^9.0.0
15
+ - with @nathapp/common ^0.1.10
16
+ - with @nathapp/nestjs-common ^1.0.1-rc.0
17
+ 6. nestjs-library 1.0.0
18
+ - with nestjs ^9.0.0
5
19
  ## Inspired by https://github.com/pongsatt/mycli
20
+
21
+ chatbot: 0
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+
3
+ # Determine the user's shell
4
+ if [[ -n "$BASH_VERSION" ]]; then
5
+ shell="bash"
6
+ elif [[ -n "$ZSH_VERSION" ]]; then
7
+ shell="zsh"
8
+ else
9
+ echo "Unknown shell. Please add the aliases manually."
10
+ exit 1
11
+ fi
12
+
13
+ # Set the aliases to be added to the shell configuration file
14
+ aliases=(
15
+ "na='na-cli'"
16
+ "na-gen='na-cli gen'"
17
+ "na-env-yaml='na-cli env-yaml'"
18
+ "na-yaml-env='na-cli yaml-env'"
19
+ )
20
+
21
+ # Check if each alias already exists in the shell configuration file
22
+ for alias in "${aliases[@]}"; do
23
+ if ! grep -q "^alias $alias" "$HOME/.${shell}rc"; then
24
+ echo "Adding alias: $alias"
25
+ echo "alias $alias" >> "$HOME/.${shell}rc"
26
+ fi
27
+ done
28
+
29
+ # Reload the shell configuration file to apply changes
30
+ source "$HOME/.${shell}rc"
package/dist/index.js CHANGED
@@ -1,140 +1,118 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __generator = (this && this.__generator) || function (thisArg, body) {
13
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
+ function verb(n) { return function (v) { return step([n, v]); }; }
16
+ function step(op) {
17
+ if (f) throw new TypeError("Generator is already executing.");
18
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
+ if (y = 0, t) op = [op[0] & 2, t.value];
21
+ switch (op[0]) {
22
+ case 0: case 1: t = op; break;
23
+ case 4: _.label++; return { value: op[1], done: false };
24
+ case 5: _.label++; y = op[1]; op = [0]; continue;
25
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
+ default:
27
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
+ if (t[2]) _.ops.pop();
32
+ _.trys.pop(); continue;
33
+ }
34
+ op = body.call(thisArg, _);
35
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
+ }
38
+ };
3
39
  Object.defineProperty(exports, "__esModule", { value: true });
4
- var inquirer = require("inquirer");
5
- var fs = require("fs");
6
40
  var path = require("path");
7
- var shell = require("shelljs");
8
- var template = require("./utils/template");
9
- var chalk_1 = require("chalk");
41
+ var template_1 = require("./utils/template");
42
+ var env_1 = require("./utils/env");
10
43
  var yargs = require("yargs");
11
- var CHOICES = fs.readdirSync(path.join(__dirname, 'templates'));
12
- var QUESTIONS = [
13
- {
14
- name: 'template',
15
- type: 'list',
16
- message: 'What project template would you like to generate?',
17
- choices: CHOICES,
18
- when: function () { return !yargs.argv['template']; }
19
- },
20
- {
21
- name: 'name',
22
- type: 'input',
23
- message: 'Project name:',
24
- when: function () { return !yargs.argv['name']; },
25
- validate: function (input) {
26
- if (/^([A-Za-z\-\_\d])+$/.test(input))
27
- return true;
28
- else
29
- return 'Project name may only include letters, numbers, underscores and hashes.';
30
- }
31
- }
32
- ];
33
- var CURR_DIR = process.cwd();
34
- inquirer.prompt(QUESTIONS)
35
- .then(function (answers) {
36
- answers = Object.assign({}, answers, yargs.argv);
37
- // @ts-ignore
38
- var projectChoice = answers['template'];
39
- // @ts-ignore
40
- var projectName = answers['name'];
41
- var templatePath = path.join(__dirname, 'templates', projectChoice);
42
- var tartgetPath = path.join(CURR_DIR, projectName);
43
- var templateConfig = getTemplateConfig(templatePath);
44
- var options = {
45
- projectName: projectName,
46
- templateName: projectChoice,
47
- templatePath: templatePath,
48
- tartgetPath: tartgetPath,
49
- config: templateConfig
50
- };
51
- if (!createProject(tartgetPath)) {
52
- return;
53
- }
54
- createDirectoryContents(templatePath, projectName, templateConfig);
55
- if (!postProcess(options)) {
56
- return;
57
- }
58
- showMessage(options);
59
- });
60
- function showMessage(options) {
61
- console.log('');
62
- console.log(chalk_1.default.green('Done.'));
63
- console.log(chalk_1.default.green("Go into the project: cd ".concat(options.projectName)));
64
- var message = options.config.postMessage;
65
- if (message) {
66
- console.log('');
67
- console.log(chalk_1.default.yellow(message));
68
- console.log('');
69
- }
70
- }
71
- function getTemplateConfig(templatePath) {
72
- var configPath = path.join(templatePath, '.template.json');
73
- if (!fs.existsSync(configPath))
74
- return {};
75
- var templateConfigContent = fs.readFileSync(configPath);
76
- if (templateConfigContent) {
77
- return JSON.parse(templateConfigContent.toString());
78
- }
79
- return {};
80
- }
81
- function createProject(projectPath) {
82
- if (fs.existsSync(projectPath)) {
83
- console.log(chalk_1.default.red("Folder ".concat(projectPath, " exists. Delete or use another name.")));
84
- return false;
85
- }
86
- fs.mkdirSync(projectPath);
87
- return true;
88
- }
89
- function postProcess(options) {
90
- if (isNode(options)) {
91
- return postProcessNode(options);
92
- }
93
- return true;
94
- }
95
- function isNode(options) {
96
- return fs.existsSync(path.join(options.templatePath, 'package.json'));
44
+ var version = require("../package.json").version;
45
+ function runGenerateTemplate() {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var TEMPLATE_PATH, CURR_DIR;
48
+ return __generator(this, function (_a) {
49
+ TEMPLATE_PATH = path.join(__dirname, 'templates');
50
+ CURR_DIR = process.cwd();
51
+ return [2 /*return*/, (0, template_1.generateTemplate)(TEMPLATE_PATH, CURR_DIR)];
52
+ });
53
+ });
97
54
  }
98
- function postProcessNode(options) {
99
- shell.cd(options.tartgetPath);
100
- var cmd = '';
101
- if (shell.which('yarn')) {
102
- cmd = 'yarn';
55
+ yargs.version(version).help().alias("help", "h").showHelpOnFail(true)
56
+ .command({
57
+ command: 'generate',
58
+ describe: 'generate project template',
59
+ builder: function (yargs) { return yargs.options({}); },
60
+ handler: function (argv) {
61
+ return runGenerateTemplate();
103
62
  }
104
- else if (shell.which('npm')) {
105
- cmd = 'npm install';
63
+ }).command({
64
+ command: 'gen',
65
+ describe: 'generate project template, "generate" command alias',
66
+ builder: function (yargs) { return yargs.options({}); },
67
+ handler: function (argv) {
68
+ return runGenerateTemplate();
106
69
  }
107
- if (cmd) {
108
- var result = shell.exec(cmd);
109
- if (result.code !== 0) {
110
- return false;
70
+ }).command({
71
+ command: 'env-yml',
72
+ describe: 'convert dotenv to yaml',
73
+ builder: function (yargs) { return yargs.options({
74
+ input: {
75
+ alias: 'i',
76
+ demand: false,
77
+ describe: "dotenv input, eg: .env, dev.env",
78
+ type: 'string',
79
+ default: '.env'
80
+ },
81
+ output: {
82
+ alias: ['o', 'out'],
83
+ demand: false,
84
+ describe: "yaml output, eg: .env.yaml, config.yaml",
85
+ type: 'string',
86
+ default: 'config.yaml'
111
87
  }
88
+ }); },
89
+ handler: function (argv) {
90
+ console.log("converting .env to yaml");
91
+ return (0, env_1.writeDotEnvToYaml)(argv.input, argv.output);
112
92
  }
113
- else {
114
- console.log(chalk_1.default.red('No yarn or npm found. Cannot run installation.'));
115
- }
116
- return true;
117
- }
118
- var SKIP_FILES = ['node_modules', '.template.json'];
119
- function createDirectoryContents(templatePath, projectName, config) {
120
- var filesToCreate = fs.readdirSync(templatePath);
121
- filesToCreate.forEach(function (file) {
122
- var origFilePath = path.join(templatePath, file);
123
- // get stats about the current file
124
- var stats = fs.statSync(origFilePath);
125
- if (SKIP_FILES.indexOf(file) > -1)
126
- return;
127
- if (stats.isFile()) {
128
- var contents = fs.readFileSync(origFilePath, 'utf8');
129
- contents = template.render(contents, { projectName: projectName });
130
- var writePath = path.join(CURR_DIR, projectName, file);
131
- fs.writeFileSync(writePath, contents, 'utf8');
93
+ }).command({
94
+ command: 'yml-env',
95
+ describe: 'convert yaml to dotenv',
96
+ builder: function (yargs) { return yargs.options({
97
+ input: {
98
+ alias: 'i',
99
+ demand: false,
100
+ describe: "yaml input, eg: .env.yaml, config.yaml",
101
+ type: 'string',
102
+ default: 'config.yaml'
103
+ },
104
+ output: {
105
+ alias: ['o', 'out'],
106
+ demand: false,
107
+ describe: "dotenv output, eg: .env, dev.env",
108
+ type: 'string',
109
+ default: '.env'
132
110
  }
133
- else if (stats.isDirectory()) {
134
- fs.mkdirSync(path.join(CURR_DIR, projectName, file));
135
- // recursive call
136
- createDirectoryContents(path.join(templatePath, file), path.join(projectName, file), config);
137
- }
138
- });
139
- }
111
+ }); },
112
+ handler: function (argv) {
113
+ console.log("converting yaml to .env");
114
+ return (0, env_1.writeYamlToDotEnv)(argv.input, argv.output);
115
+ }
116
+ });
117
+ yargs.parse();
140
118
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .DS_Store
@@ -0,0 +1,139 @@
1
+ # Project must implement Makefile for commands (test, pre-build, build, name, version, image, version-major, version-minor, version-patch)
2
+ # command:
3
+ # - test: run script inspection
4
+ # - build: alias to version-patch
5
+ # - pre-build: build prerelease tag
6
+ # - name: display project name
7
+ # - version: display project version
8
+ # - image: display project name and version (e.g. hello-world:1.0.0)
9
+ # - version-major: build major release tag
10
+ # - version-minor: build minor release tag
11
+ # - version-patch: build patch release tag
12
+ #
13
+ stages:
14
+ - test
15
+ # run script inspection
16
+ - build
17
+ # create tag
18
+ - release
19
+ # mark release commit as verified
20
+
21
+ run-test:
22
+ stage: test
23
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/docker:18-ci
24
+ services:
25
+ - docker:18-dind
26
+ script:
27
+ - make run-test
28
+ rules:
29
+ - if: '$CI_COMMIT_MESSAGE =~ /release-rc-by-devbot/ || $CI_COMMIT_MESSAGE =~ /release-by-devbot/'
30
+ when: never
31
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
32
+ - if: '$CI_COMMIT_REF_PROTECTED == "true"'
33
+ - if: '$CI_COMMIT_MESSAGE =~ /run-test/'
34
+ - if: '($CI_COMMIT_MESSAGE =~ /run-major-release/ || $CI_COMMIT_MESSAGE =~ /run-minor-release/ || $CI_COMMIT_MESSAGE =~ /run-patch-release/ || $CI_COMMIT_MESSAGE =~ /run-release/) && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
35
+ # NOT triggerred by bot
36
+ # merge request
37
+ # commit to protected branch
38
+ # commit message contains `run-test` keyword
39
+ # commit message contains `run-major-release`, `run-minor-release`, `run-patch-release`, or `run-release` keywords and commit branch is default branch (master)
40
+
41
+ run-build-major:
42
+ stage: build
43
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
44
+ artifacts:
45
+ paths:
46
+ - package.json
47
+ script:
48
+ - make version-major
49
+ rules:
50
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_MESSAGE =~ /== release-by-devbot/'
51
+ when: never
52
+ - if: '$CI_COMMIT_MESSAGE =~ /run-major-release/ && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
53
+ # NOT merge requests and not triggerred by bot
54
+ # commit message contains `run-major-release` keyword and commit branch is default branch (master)
55
+
56
+ run-build-minor:
57
+ stage: build
58
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
59
+ artifacts:
60
+ paths:
61
+ - package.json
62
+ script:
63
+ - make version-minor
64
+ rules:
65
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_MESSAGE =~ /== release-by-devbot/'
66
+ when: never
67
+ - if: '$CI_COMMIT_MESSAGE =~ /run-minor-release/ && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
68
+ # NOT merge requests and not triggerred by bot
69
+ # commit message contains `run-minor-release` keyword and commit branch is default branch (master)
70
+
71
+ run-build-patch:
72
+ stage: build
73
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
74
+ artifacts:
75
+ paths:
76
+ - package.json
77
+ script:
78
+ - make version-patch
79
+ rules:
80
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_MESSAGE =~ /== release-by-devbot/'
81
+ when: never
82
+ - if: '($CI_COMMIT_MESSAGE =~ /run-patch-release/ || $CI_COMMIT_MESSAGE =~ /run-release/) && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
83
+ # NOT merge requests and not triggerred by bot
84
+ # commit message contains `run-patch-release` or `run-release` keywords and commit branch is default branch (master)
85
+
86
+ run-commit:
87
+ stage: release
88
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
89
+ before_script:
90
+ - git config --global user.name "$GITLAB_USER_NAME"
91
+ - git config --global user.email "$GITLAB_USER_EMAIL"
92
+ script:
93
+ - git add -A
94
+ - git commit -m "$(make version)" -m "Bumped by $GITLAB_USER_NAME == release-by-devbot ($CI_COMMIT_SHORT_SHA) =="
95
+ - git tag -a "$(make version)" -m "Bumped by $GITLAB_USER_NAME"
96
+ - (rm 7*.sql 2>/dev/null) || true
97
+ - (rm 8*.sql 2>/dev/null) || true
98
+ - echo > DEV_MODE.txt
99
+ - (git add -A && git commit -m "$(make version) - cleanup" -m "== cleanup-by-devbot ($CI_COMMIT_SHORT_SHA) ==") || true
100
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" "HEAD:${CI_COMMIT_BRANCH}"
101
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" --tags
102
+ rules:
103
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_MESSAGE =~ /== release-by-devbot/'
104
+ when: never
105
+ - if: '($CI_COMMIT_MESSAGE =~ /run-major-release/ || $CI_COMMIT_MESSAGE =~ /run-minor-release/ || $CI_COMMIT_MESSAGE =~ /run-patch-release/ || $CI_COMMIT_MESSAGE =~ /run-release/) && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
106
+ # NOT merge requests and not triggerred by bot
107
+ # commit message contains `run-major-release`, `run-minor-release`, `run-patch-release`, or `run-release` keywords and commit branch is default branch (master)
108
+
109
+ run-release:
110
+ stage: release
111
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
112
+ script:
113
+ - echo "Release version $(make version)"
114
+ rules:
115
+ - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
116
+ when: never
117
+ - if: '$CI_COMMIT_TAG != null'
118
+ # NOT commit branch is NON default branch (master)
119
+ # tag was created
120
+
121
+ run-tag:
122
+ stage: release
123
+ image: registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
124
+ before_script:
125
+ - git config --global user.name "$GITLAB_USER_NAME"
126
+ - git config --global user.email "$GITLAB_USER_EMAIL"
127
+ script:
128
+ - make pre-build
129
+ - git add -A
130
+ - git commit -m "$(make version)" -m "Bumped by $GITLAB_USER_NAME == release-by-devbot ($CI_COMMIT_SHORT_SHA) =="
131
+ - git tag -a "$(make version)" -m "Bumped by $GITLAB_USER_NAME"
132
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" "HEAD:${CI_COMMIT_BRANCH}"
133
+ - git push "https://${GITLAB_USER_NAME}:${CI_GIT_TOKEN}@${CI_REPOSITORY_URL#*@}" --tags
134
+ rules:
135
+ - if: '$CI_COMMIT_MESSAGE =~ /release-rc-by-devbot/ || $CI_COMMIT_MESSAGE =~ /release-by-devbot/'
136
+ when: never
137
+ - if: '$CI_COMMIT_MESSAGE =~ /run-tag/'
138
+ # NOT triggerred by bot
139
+ # commit message contains `run-tag` keyword
@@ -0,0 +1 @@
1
+ CREATE DATABASE IF NOT EXISTS <%= masterDbName %> DEFAULT CHARACTER SET utf8;
@@ -0,0 +1,3 @@
1
+ FROM registry-intl.cn-hongkong.aliyuncs.com/gkci/node:10.20.0-alpine-ci
2
+ WORKDIR /sql/
3
+ ADD . .
@@ -0,0 +1 @@
1
+ ## EMAIL Templates