Hudson                  with           bleis-tift         May 28, 2011
id:bleis-tift / @bleis
id:bleis-tift / @bleis
id:bleis-tift / @bleisGit      Jenkins
id:bleis-tift / @bleisGit      JenkinsF#       Scala
1   CI.    2.
1   CI.    2.
1   CI.     2.              Perl   Git   Groovy   Ruby    F#
51
51XFD eXtreme Feedback Device   CI
XFD
XFD
XFD
CI
CIContinuous Integration
CIContinuous Integrationcommit push
CIContinuous Integrationcommit push              Jenkins
CI
CI
CI
CI
CI
CI     Reject
Private System Build
Private System Build
IM
IM
IMRSS
IMRSS
IMRSSXFD
IMRSSXFD   Private System Build
IMRSSXFD   Private System Build
SSTP Sakura Script Tranfer Protocol
SSTP Sakura Script Tranfer Protocol     Secure Socket Tunneling Protocol
SSTP Sakura Script Tranfer Protocol     Secure Socket Tunneling Protocol             SSTP
SSTP
SSTP
SSTP
SSTP
1. push
1. pushpush     CI
1. pushpush     CIGit
1. pushpush     CIGit          Perl
1. pushpush      CIGit            Perl  Git    PerlPerl
2. CI
3.
3.Notification Plugin
3.Notification PluginGroovy Postbuild Plugin
3.Notification PluginGroovy Postbuild PluginGroovy   Runtime     Jenkins
4.
4.Jenkins   Windows
4.Jenkins   Windows
4.Jenkins     Windowscygrunsrv
4.Jenkins     WindowscygrunsrvRuby         Perl     Python
4.Jenkins     WindowscygrunsrvRuby          Perl     Python                          TCP            100
5.   6.
5.          6.     Job   Build
5.          6.            Job   BuildRuby
5.               6.                  Job   BuildRubyScala        F#           JVM                        F #
Ruby   IP
Ruby       IPF#     1        Job
Ruby       IPF#     1        JobRuby       3          IP
bleis-tift
F#
F#
F#F#
F#F#
F#
F#use provider = new FSharpCodeProvider()let src = "module Tempn           let body (arg: " + argType + "): " +           ...
fsi
fsi
fsi
fsi-r         fsi.exe   dll
fsi-r               fsi.exe   dll           dll                   fsi
fsi-r                fsi.exe   dll           dll                    fsi           REPL
fsi-r                fsi.exe   dll           dll                    fsi           REPL
fsi
fsi–lib:path dll
fsi –lib:path dll-r asmfile              dll
fsi –lib:path dll-r asmfile              dll  –use:file fsi
fsi –lib:path dll-r asmfile              dll  –use:file fsi                 fsi
fsi –lib:path dll-r asmfile              dll  –use:file fsi                 fsi                             lib
fsi –lib:path dll-r asmfile              dll  –use:file fsi                 fsi                             lib             ...
fsi –lib:path dll-r asmfile                      dll  –use:file fsi                 fsi                                     ...
GUI
Git
GitGit         DVCS
GitGit         DVCS
GitGit         DVCS             Git
http://github.com/bleis-tift/Git-Hooks
http://github.com/bleis-tift/Git-Hooks       rewrite
Groovy Postbuild Plugin
Groovy Postbuild PluginJenkins
Groovy Postbuild PluginJenkinsJenkins               Groovy
Groovy Postbuild PluginJenkinsJenkins                        Groovy          Post build task
Groovy Postbuild PluginJenkinsJenkins                        Groovy          Post build task      Job
manager.hudson   manager.build
Groovy?
Groovy?JVM
Groovy?JVM
Groovy?JVMJVM
Groovy?JVMJVM      Jenkins
Groovy?JVMJVM              Jenkins      Scala
push or reset   push         reset
push or reset
push or reset
push or reset   push         reset
push or reset   push         reset      reset
push or reset   push         reset      reset      push
push or reset          push         reset             reset             pushpush
push or reset          push         reset             reset             pushpushpush
push or reset          push         reset             reset             pushpushpushpush
push or resetif (manager.build.result == hudson.model.Result.SUCCESS) {  def res = "git push origin master".execute().wait...
Ruby
Ruby
Rubys = new java.net.Socket("localhost", 10000)s << (manager.build.project.name + "n"      + manager.build.number + "n")s....
Cygwin   Windows
Cygwin   WindowsWindows        F#   C#
Cygwin     WindowsWindows          F#   C#cygrunsrv             Cygwin
Cygwincygrunsrv -I JobNotifier -p /usr/bin/ruby.exe -a /home/bleis/notifier.rb
Cygwincygrunsrv -I JobNotifier -p /usr/bin/ruby.exe -a /home/bleis/notifier.rb
S
SSakura Script
SSakura Script
EXECUTE/1.0
EXECUTE/1.0EXECUTE SSTP/1.0Sender: JobNotifierCommand: GetName
EXECUTE/1.0EXECUTE SSTP/1.0Sender: JobNotifierCommand: GetName
Sakura Scriptdefault/    default.txt            /    abort/    failure/    success/    unstable/
Sakura Scriptdefault/    default.txt            /    abort/    failure/    success/    unstable/
PluginSSTP
Notifier.fsmodule Notifieropen JobNotifier.Guilet notify (app: App) (job: Jenkins.Job.t) (build: Jenkins.Build.t) _ _ =  le...
Plugin         XFD
Plugin         XFD
Plugin         XFDmzp
Plugin         XFDmzp
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Hudson以外の何か with 任意
Upcoming SlideShare
Loading in...5
×

Hudson以外の何か with 任意

3,050

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,050
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Hudson以外の何か with 任意"

  1. 1. Hudson with bleis-tift May 28, 2011
  2. 2. id:bleis-tift / @bleis
  3. 3. id:bleis-tift / @bleis
  4. 4. id:bleis-tift / @bleisGit Jenkins
  5. 5. id:bleis-tift / @bleisGit JenkinsF# Scala
  6. 6. 1 CI. 2.
  7. 7. 1 CI. 2.
  8. 8. 1 CI. 2. Perl Git Groovy Ruby F#
  9. 9. 51
  10. 10. 51XFD eXtreme Feedback Device CI
  11. 11. XFD
  12. 12. XFD
  13. 13. XFD
  14. 14. CI
  15. 15. CIContinuous Integration
  16. 16. CIContinuous Integrationcommit push
  17. 17. CIContinuous Integrationcommit push Jenkins
  18. 18. CI
  19. 19. CI
  20. 20. CI
  21. 21. CI
  22. 22. CI
  23. 23. CI Reject
  24. 24. Private System Build
  25. 25. Private System Build
  26. 26. IM
  27. 27. IM
  28. 28. IMRSS
  29. 29. IMRSS
  30. 30. IMRSSXFD
  31. 31. IMRSSXFD Private System Build
  32. 32. IMRSSXFD Private System Build
  33. 33. SSTP Sakura Script Tranfer Protocol
  34. 34. SSTP Sakura Script Tranfer Protocol Secure Socket Tunneling Protocol
  35. 35. SSTP Sakura Script Tranfer Protocol Secure Socket Tunneling Protocol SSTP
  36. 36. SSTP
  37. 37. SSTP
  38. 38. SSTP
  39. 39. SSTP
  40. 40. 1. push
  41. 41. 1. pushpush CI
  42. 42. 1. pushpush CIGit
  43. 43. 1. pushpush CIGit Perl
  44. 44. 1. pushpush CIGit Perl Git PerlPerl
  45. 45. 2. CI
  46. 46. 3.
  47. 47. 3.Notification Plugin
  48. 48. 3.Notification PluginGroovy Postbuild Plugin
  49. 49. 3.Notification PluginGroovy Postbuild PluginGroovy Runtime Jenkins
  50. 50. 4.
  51. 51. 4.Jenkins Windows
  52. 52. 4.Jenkins Windows
  53. 53. 4.Jenkins Windowscygrunsrv
  54. 54. 4.Jenkins WindowscygrunsrvRuby Perl Python
  55. 55. 4.Jenkins WindowscygrunsrvRuby Perl Python TCP 100
  56. 56. 5. 6.
  57. 57. 5. 6. Job Build
  58. 58. 5. 6. Job BuildRuby
  59. 59. 5. 6. Job BuildRubyScala F# JVM F #
  60. 60. Ruby IP
  61. 61. Ruby IPF# 1 Job
  62. 62. Ruby IPF# 1 JobRuby 3 IP
  63. 63. bleis-tift
  64. 64. F#
  65. 65. F#
  66. 66. F#F#
  67. 67. F#F#
  68. 68. F#
  69. 69. F#use provider = new FSharpCodeProvider()let src = "module Tempn let body (arg: " + argType + "): " + retType + " =n" + exprlet param = CompilerParameters( GenerateInMemory=true)let res = provider .CompileAssemblyFromSource(param, src)let asm = res.CompiledAssemblylet t = asm.GetType("Temp")t.GetMethod("body").Invoke(null, arg)
  70. 70. fsi
  71. 71. fsi
  72. 72. fsi
  73. 73. fsi-r fsi.exe dll
  74. 74. fsi-r fsi.exe dll dll fsi
  75. 75. fsi-r fsi.exe dll dll fsi REPL
  76. 76. fsi-r fsi.exe dll dll fsi REPL
  77. 77. fsi
  78. 78. fsi–lib:path dll
  79. 79. fsi –lib:path dll-r asmfile dll
  80. 80. fsi –lib:path dll-r asmfile dll –use:file fsi
  81. 81. fsi –lib:path dll-r asmfile dll –use:file fsi fsi
  82. 82. fsi –lib:path dll-r asmfile dll –use:file fsi fsi lib
  83. 83. fsi –lib:path dll-r asmfile dll –use:file fsi fsi lib dll r
  84. 84. fsi –lib:path dll-r asmfile dll –use:file fsi fsi lib dll r open use
  85. 85. GUI
  86. 86. Git
  87. 87. GitGit DVCS
  88. 88. GitGit DVCS
  89. 89. GitGit DVCS Git
  90. 90. http://github.com/bleis-tift/Git-Hooks
  91. 91. http://github.com/bleis-tift/Git-Hooks rewrite
  92. 92. Groovy Postbuild Plugin
  93. 93. Groovy Postbuild PluginJenkins
  94. 94. Groovy Postbuild PluginJenkinsJenkins Groovy
  95. 95. Groovy Postbuild PluginJenkinsJenkins Groovy Post build task
  96. 96. Groovy Postbuild PluginJenkinsJenkins Groovy Post build task Job
  97. 97. manager.hudson manager.build
  98. 98. Groovy?
  99. 99. Groovy?JVM
  100. 100. Groovy?JVM
  101. 101. Groovy?JVMJVM
  102. 102. Groovy?JVMJVM Jenkins
  103. 103. Groovy?JVMJVM Jenkins Scala
  104. 104. push or reset push reset
  105. 105. push or reset
  106. 106. push or reset
  107. 107. push or reset push reset
  108. 108. push or reset push reset reset
  109. 109. push or reset push reset reset push
  110. 110. push or reset push reset reset pushpush
  111. 111. push or reset push reset reset pushpushpush
  112. 112. push or reset push reset reset pushpushpushpush
  113. 113. push or resetif (manager.build.result == hudson.model.Result.SUCCESS) { def res = "git push origin master".execute().waitFor() if (res == 0) return manager.buildFailure()}def commits = manager.build.changeSet.itemsif (commits.length == 0) returndef scm = manager.build.project.scmdef repo = scm.repositories[0].getURIs()[0].toString()def parent = commits[0].parentCommitdef reset = "git --git-dir=$repo/.git reset --soft $parent"reset.execute().waitFor()
  114. 114. Ruby
  115. 115. Ruby
  116. 116. Rubys = new java.net.Socket("localhost", 10000)s << (manager.build.project.name + "n" + manager.build.number + "n")s.close()
  117. 117. Cygwin Windows
  118. 118. Cygwin WindowsWindows F# C#
  119. 119. Cygwin WindowsWindows F# C#cygrunsrv Cygwin
  120. 120. Cygwincygrunsrv -I JobNotifier -p /usr/bin/ruby.exe -a /home/bleis/notifier.rb
  121. 121. Cygwincygrunsrv -I JobNotifier -p /usr/bin/ruby.exe -a /home/bleis/notifier.rb
  122. 122. S
  123. 123. SSakura Script
  124. 124. SSakura Script
  125. 125. EXECUTE/1.0
  126. 126. EXECUTE/1.0EXECUTE SSTP/1.0Sender: JobNotifierCommand: GetName
  127. 127. EXECUTE/1.0EXECUTE SSTP/1.0Sender: JobNotifierCommand: GetName
  128. 128. Sakura Scriptdefault/ default.txt / abort/ failure/ success/ unstable/
  129. 129. Sakura Scriptdefault/ default.txt / abort/ failure/ success/ unstable/
  130. 130. PluginSSTP
  131. 131. Notifier.fsmodule Notifieropen JobNotifier.Guilet notify (app: App) (job: Jenkins.Job.t) (build: Jenkins.Build.t) _ _ = let icon = match build.Result with | "SUCCESS" -> App.Icon.Info | "FAILURE" -> App.Icon.Error | _ -> App.Icon.Warning app.ShowBalloonTip(icon, job.Name + " : " + build.Result)
  132. 132. Plugin XFD
  133. 133. Plugin XFD
  134. 134. Plugin XFDmzp
  135. 135. Plugin XFDmzp
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×