Node.js meets jenkins

6,732 views

Published on

A presentation for my "Node.js Meets Jenkins, Gradle and Chef!" at Jenkins User Conference 2013 in Israel:
https://www.youtube.com/watch?v=jPA1iwZ0zk8

Published in: Technology, Business
1 Comment
8 Likes
Statistics
Notes
No Downloads
Views
Total views
6,732
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
29
Comments
1
Likes
8
Embeds 0
No embeds

No notes for slide

Node.js meets jenkins

  1. 1. My  name  is  Evgeny @jenkinsconf
  2. 2. Polyglot  Programming @jenkinsconf
  3. 3. Polyglot  Tooling @jenkinsconf
  4. 4.  Node.js  meets Jenkins,  Gradle,  Chef Evgeny  Goldin,  Trademob  GmbH June  06,  2013 and Artifactory! @jenkinsconf
  5. 5. What’s  in  it  for  you? @jenkinsconf
  6. 6. Automation @jenkinsconf
  7. 7. @jenkinsconf $ npm install $ node date.js $ forever start date.js $ forever stop date.js
  8. 8. Easy? @jenkinsconf
  9. 9. @jenkinsconf
  10. 10. Boostrap  and  versioning @jenkinsconf
  11. 11. npm  install @jenkinsconf
  12. 12. @jenkinsconf
  13. 13. @jenkinsconf
  14. 14. Before  and  after  listeners Mongo,  Redis,  Cake,  Grunt @jenkinsconf
  15. 15. Verified  start  and  stop @jenkinsconf
  16. 16. Startup  scripts @jenkinsconf
  17. 17. ..  and  then  some  more @jenkinsconf
  18. 18. @jenkinsconfhttp://www.shimweasel.com/hs_gbu/
  19. 19. http://educaricaturas.blogspot.de/2010/07/caricaturas.html
  20. 20. Recipes  controlled  by  Ops @jenkinsconf
  21. 21. Not  Devs! @jenkinsconf
  22. 22. Stored  in  a  separate  repo @jenkinsconf
  23. 23. Uploaded  to  Chef  Server @jenkinsconf
  24. 24. ..  and  getting  messy   @jenkinsconf
  25. 25. Provisioning  !=  Build @jenkinsconf
  26. 26. @jenkinsconfhttp://www.shimweasel.com/hs_gbu/
  27. 27. Wouldn’t  it  be  cool  if  .. @jenkinsconf
  28. 28. Node.js Gradle Jenkins Chef http://www.shimweasel.com/hs_gbu/
  29. 29. ./gradlew  -­‐i  setup ./gradlew  -­‐i  test ./gradlew  -­‐i  start ./gradlew  -­‐i  stop @jenkinsconf
  30. 30. ./build/setup.sh ./build/test.sh ./build/start.sh ./build/stop.sh @jenkinsconf
  31. 31. npm  install  ? @jenkinsconf
  32. 32. @jenkinsconf package.json
  33. 33. @jenkinsconf checksum + tar.gz + PUT  /  GET
  34. 34. github.com/fzaninotto/uptime bitbucket.org/evgenyg/uptime-ec2
  35. 35. Coming  next: *.deb upstart @jenkinsconf
  36. 36. Monitoring @jenkinsconf
  37. 37. http(s)://host:port @jenkinsconf
  38. 38. 10  boxes,  5  ports  each 50  combinations! ..  plus  https @jenkinsconf
  39. 39. Wouldn’t  it  be  cool  if  .. @jenkinsconf
  40. 40. http(s)://<host:port> http(s)://<host>|<status  code> http(s)://<host>|<status  code>|<matcher(s)> http(s)://<host>|<status  code>|<matchers>|<time  limit  (ms)> http(s)://<host>|<status  code>|<matchers>|<time  limit>|<user>|<pass> E.g.  https://github.com/evgeny-­‐goldin/chef-­‐repo|404|-­‐/d++?s+commits/ @jenkinsconf
  41. 41.                  Positive  matcher                              :  matcher                  Negative  matcher                          :  -­‐matcher                  Contains  matcher                            :  text                  Regex  matcher                                    :  /regex/                  JSON  matcher                                        :  {  json  }  or  [  json  ]                Multiple  matchers                            :  m1  *  m2  *  m3 @jenkinsconf
  42. 42. bitbucket.org/evgenyg/monitor/
  43. 43. Coming  next: PagerDuty @jenkinsconf
  44. 44. What’s  in  it  for  you? @jenkinsconf
  45. 45.                                                                              Go  get  it!       buildscript  {        repositories          {  maven  {  url  'http://jcenter.bintray.com'  }}        dependencies  {  classpath          'com.github.goldin.plugins.gradle:node:0.3',                                                                                                                    'com.github.goldin.plugins.gradle:monitor:0.3'  } } @jenkinsconf evgeny-­‐goldin.org/jenkins bitbucket.org/evgenyg/uptime-­‐ec2 bitbucket.org/evgenyg/monitor evgeny-­‐goldin.com/wiki/Gradle-­‐node-­‐plugin evgeny-­‐goldin.com/wiki/Gradle-­‐monitor-­‐plugin
  46. 46. Warm  regards, Evgeny  Goldin evgenyg@gmail.com @evgeny_goldin @jenkinsconf
  47. 47. Many  thanks  to  our  sponsors! @jenkinsconf
  48. 48. Lunch  time! @jenkinsconf

×