You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

69 lines
1.5 KiB

  1. image: node:12
  2. stages:
  3. - test
  4. - build
  5. audit:
  6. stage: test
  7. script:
  8. - cd src/server
  9. - npm audit
  10. only:
  11. - merge_requests
  12. - master
  13. lint-server:
  14. stage: test
  15. script:
  16. - npm install eslint eslint-plugin-prettier prettier babel-eslint
  17. - cd src/server
  18. - ../../node_modules/.bin/eslint .
  19. only:
  20. - merge_requests
  21. - master
  22. lint-client:
  23. stage: test
  24. script:
  25. - npm install eslint eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs
  26. - cd src/client
  27. - ../../node_modules/.bin/eslint .
  28. only:
  29. - merge_requests
  30. - master
  31. build-image-latest:
  32. stage: build
  33. image: docker:stable
  34. services:
  35. - docker:dind
  36. before_script:
  37. - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  38. variables:
  39. IMAGE_TAG_REF: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
  40. IMAGE_TAG_ALIAS: $CI_REGISTRY_IMAGE:latest
  41. script:
  42. - docker build -t $IMAGE_TAG_REF -t $IMAGE_TAG_ALIAS .
  43. - docker push $IMAGE_TAG_REF
  44. - docker push $IMAGE_TAG_ALIAS
  45. only:
  46. - master
  47. build-image-stable:
  48. stage: build
  49. image: docker:stable
  50. services:
  51. - docker:dind
  52. before_script:
  53. - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  54. variables:
  55. IMAGE_TAG_REF: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
  56. IMAGE_TAG_ALIAS: $CI_REGISTRY_IMAGE:stable
  57. script:
  58. - docker build -t $IMAGE_TAG_REF -t $IMAGE_TAG_ALIAS .
  59. - docker push $IMAGE_TAG_REF
  60. - docker push $IMAGE_TAG_ALIAS
  61. only:
  62. - tags