wercker.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. box: wercker/golang
  2. steps:
  3. - wercker/npm-install@0.9.3
  4. - wercker/step-grunt
  5. - wercker/s3sync
  6. build:
  7. steps:
  8. # Workspace
  9. - setup-go-workspace
  10. - script:
  11. name: build setup
  12. code: |
  13. go run build.go setup
  14. # Build the project
  15. - script:
  16. name: build
  17. code: |
  18. go run build.go clean test build
  19. # frontend
  20. - npm-install
  21. - grunt:
  22. tasks: release
  23. # create packages
  24. - script:
  25. name: create packages
  26. code: |
  27. sudo gem install fpm
  28. sudo apt-get update
  29. sudo apt-get install -y rpm
  30. go run build.go package
  31. # save packages
  32. - script:
  33. name: copy output
  34. code: |-
  35. cp $WERCKER_SOURCE_DIR/dist $WERCKER_ROOT
  36. rsync -rv "$WERCKER_SOURCE_DIR/dist/" "$WERCKER_OUTPUT_DIR"
  37. - s3sync:
  38. key-id: $AWS_S3_KEY
  39. key-secret: $AWS_S3_SECRET
  40. bucket-url: $AWS_S3_BUCKET
  41. source-dir: dist/
  42. delete-removed: false
  43. deploy:
  44. steps:
  45. - add-to-known_hosts:
  46. hostname: play.grafana.org
  47. - mktemp:
  48. envvar: PRIVATEKEY_PATH
  49. - create-file:
  50. name: write key
  51. filename: $PRIVATEKEY_PATH
  52. content: $GRAFANA_PLAY_PRIVATE
  53. overwrite: true
  54. hide-from-log: true
  55. - script:
  56. name: transfer application
  57. code: |
  58. pwd
  59. ls -la
  60. scp -i $PRIVATEKEY_PATH -o StrictHostKeyChecking=no -o UserKnownHostsFile=no * deploy@play.grafana.org:/home/deploy/
  61. - script:
  62. name: deploy application
  63. code: ssh -i $PRIVATEKEY_PATH -l deploy -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no play.grafana.org ./wercker_deploy.sh