.gitlab-ci.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. stages:
  2. - download
  3. - build
  4. - deploy
  5. - clean
  6. download-job:
  7. stage: download
  8. tags:
  9. - shared
  10. only:
  11. - test
  12. before_script:
  13. - export PATH=$PATH:/usr/local/go/bin
  14. - export GOPROXY='https://goproxy.cn,direct'
  15. script:
  16. - uname -a
  17. - go env -w GOINSECURE='x.sikey.com.cn/*'
  18. - go env -w GONOSUMDB='x.sikey.com.cn/*'
  19. - go env -w GOPRIVATE='x.sikey.com.cn/*'
  20. - go env
  21. - go mod download
  22. build-websocket-job:
  23. variables:
  24. PROJECT: "websocket"
  25. stage: build
  26. tags:
  27. - shared
  28. only:
  29. - test
  30. before_script:
  31. - export PATH=$PATH:/usr/local/go/bin
  32. script:
  33. - go env -w CGO_ENABLED=0
  34. - go env -w GOOS=linux
  35. - go env -w GOARCH=amd64
  36. - go mod tidy
  37. - go build -o $PROJECT .
  38. - docker-compose build $PROJECT
  39. deploy-job:
  40. stage: deploy
  41. tags:
  42. - shared
  43. only:
  44. - test
  45. script:
  46. - docker-compose up -d
  47. clean-job:
  48. stage: clean
  49. tags:
  50. - shared
  51. only:
  52. - test
  53. script:
  54. - docker system prune -f