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.
 
 
 

70 lines
1.5 KiB

  1. image: node:10
  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. allow_failure: true
  23. lint-client:
  24. stage: test
  25. script:
  26. - npm install eslint eslint-plugin-prettier prettier babel-eslint
  27. - cd src/client
  28. - ../../node_modules/.bin/eslint .
  29. only:
  30. - merge_requests
  31. - master
  32. allow_failure: true
  33. build-image-latest:
  34. stage: build
  35. image: docker:stable
  36. services:
  37. - docker:dind
  38. before_script:
  39. - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  40. variables:
  41. IMAGE_TAG_REF: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
  42. IMAGE_TAG_ALIAS: $CI_REGISTRY_IMAGE:latest
  43. script:
  44. - docker build -t $IMAGE_TAG_REF -t $IMAGE_TAG_ALIAS .
  45. - docker push $IMAGE_TAG_REF
  46. - docker push $IMAGE_TAG_ALIAS
  47. only:
  48. - master
  49. build-image-stable:
  50. stage: build
  51. image: docker:stable
  52. services:
  53. - docker:dind
  54. before_script:
  55. - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  56. variables:
  57. IMAGE_TAG_REF: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
  58. IMAGE_TAG_ALIAS: $CI_REGISTRY_IMAGE:stable
  59. script:
  60. - docker build -t $IMAGE_TAG_REF -t $IMAGE_TAG_ALIAS .
  61. - docker push $IMAGE_TAG_REF
  62. - docker push $IMAGE_TAG_ALIAS
  63. only:
  64. - tags