.drone.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. workspace:
  2. base: /app
  3. path: .
  4. cache:
  5. - ".git"
  6. - "browser/vue-flow/node_modules"
  7. - "go/deps"
  8. pipeline:
  9. rebuild-cache:
  10. image: drillster/drone-volume-cache
  11. rebuild: true
  12. mount:
  13. - ./browser/vue-flow/node_modules
  14. - ./go/deps
  15. # Mount the cache volume, needs "Trusted"
  16. volumes:
  17. - /tmp/cache:/cache
  18. restore-cache:
  19. image: drillster/drone-volume-cache
  20. restore: true
  21. mount:
  22. - ./browser/vue-flow/node_modules
  23. - ./go/deps
  24. # Mount the cache volume, needs "Trusted"
  25. volumes:
  26. - /tmp/cache:/cache
  27. frontend:
  28. image: node:6
  29. commands:
  30. - cd browser/vue-flow
  31. - yarn
  32. - yarn build
  33. backend:
  34. image: golang
  35. environment:
  36. - GOPATH=/app/go/deps:/app/go
  37. commands:
  38. - go get github.com/axw/gocov/gocov
  39. - go get github.com/gohxs/folder2go
  40. - go get -d ./go/src/...
  41. - go get -d -t ./go/src/...
  42. - go/deps/bin/gocov test -v -race ./go/src/... | go/deps/bin/gocov report
  43. - go/deps/bin/folder2go -nobackup ./browser/vue-flow/dist webbin go/src/flow/cmd/demo/webbin/webbin.go
  44. - CGO_ENABLED=0 go build -o DIST/demo1 flowserver/cmd/demo1
  45. rebuild-cache:
  46. image: drillster/drone-volume-cache
  47. rebuild: true
  48. mount:
  49. - ./browser/vue-flow/node_modules
  50. - ./go/deps
  51. # Mount the cache volume, needs "Trusted"
  52. volumes:
  53. - /tmp/cache:/cache
  54. deploy:
  55. image: docker
  56. when:
  57. event: deployment
  58. environment: staging
  59. commands:
  60. - echo $HOME
  61. - mkdir -p DIST
  62. - cp -r browser/vue-flow/dist DIST/web
  63. - docker build --rm -t hexasoftware.com:5000/flow-proto -f ./docker/Dockerfile .
  64. - docker push hexasoftware.com:5000/flow-proto
  65. volumes:
  66. - /var/run/docker.sock:/var/run/docker.sock
  67. - /home/stdio/.docker/config.json:/root/.docker/config.json
  68. notify:
  69. image: drillster/drone-email
  70. from: drone@hexasoftware.com
  71. skip_verify: true
  72. secrets: [email_password, email_recipients, email_host, email_username]
  73. when:
  74. status: [ failure, success ]