Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Automate documentation publishing with Jenkins

247 views

Published on

What’s the first thing that comes to your mind when you hear the word “automation”? You may think it’s a costly venture into the unknown that only developers are cut out for. But it doesn’t always have to be that way. You don’t need to jump immediately at creating a solution for the entire department of 100 people. You can find a small project and automate documentation publishing for a few authors. And Jenkins can help you with that.

Published in: Technology
  • Be the first to comment

Automate documentation publishing with Jenkins

  1. 1. Automate documentation publishing with Jenkins
  2. 2. <About me /> Technical Lead Co-Admin TrainerCo-Organizer Michał Skowron
  3. 3. “A self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and deploying software” <About Jenkins />
  4. 4. Cross-platform (Windows, Linux, Mac OS X) Extensible with plugins <About Jenkins />
  5. 5. Why should I care? <About Jenkins />
  6. 6. Jenkins can help you automate documentation delivery <About Jenkins />
  7. 7. <Plan /> Path to automation Local builds Remote Desktop Connection Jenkins Why Jenkins? Solution Resources Installation Configuration Plugins Jobs Usage Examples Benefits
  8. 8. <Path to automation /> Local builds JenkinsRemote Desktop Connection
  9. 9. <Local builds /> Not centralized Not automated
  10. 10. No centralized control <Local builds />
  11. 11. <Local builds /> Keeping your machine busy
  12. 12. <Local builds /> Different versions of the authoring tool Inconsistent output
  13. 13. <Local builds /> Help portal built outside the authoring tool Restricted access to the webserver
  14. 14. Centralized Semi-automated <Remote Desktop Connection />
  15. 15. Remote Desktop Protocol <Remote Desktop Connection />
  16. 16. <Remote Desktop Connection /> Batch files and task scheduler
  17. 17. <Jenkins /> Centralized Automated
  18. 18. <Jenkins /> Web access
  19. 19. <Jenkins /> Centralized control
  20. 20. Free <Why Jenkins? />
  21. 21. <Why Jenkins? /> Flexible
  22. 22. <Why Jenkins? /> Familiar
  23. 23. <Solution />
  24. 24. Windows 7 Professional SP 1 (32-bit) Intel Xeon @ 2.4 GHz 4 GB RAM 100 GB HDD <Resources />
  25. 25. No in-house developers < Resources />
  26. 26. https://bitnami.com/stack/jenkins version 1.658 Bitnami Jenkins Stack tool <Installation />
  27. 27. Use a Windows admin account to run Jenkins services <Installation />
  28. 28. Accessing Jenkins http://server-name/jenkins/ <Configuration />
  29. 29. <Configuration /> Number of concurrent builds Manage Jenkins > Configure System
  30. 30. <Configuration /> Environment variables Manage Jenkins > Configure System > Global Properties
  31. 31. <Configuration /> Access rights Manage Jenkins > Configure Global Security
  32. 32. <Configuration /> Email account for notifications Manage Jenkins > Configure System > E-mail Notification
  33. 33. Office 365  Problem: Handshaking security errors  Solution: Enable the Transport Layer Security (TLS) in the Tomcat properties -Dmail.smtp.starttls.enable=true -Dhudson.model.DirectoryBrowserSupport.CSP= <Configuration />
  34. 34. ThinBackup Email Extension Plugin <Plugins />
  35. 35. <Plugins /> Build-name-setter Date Parameter Plugin
  36. 36. Build Trigger Badge Plugin <Plugins /> Extra Columns Plugin
  37. 37. Multiple configuration options <Jobs />
  38. 38. Project security <Jobs />
  39. 39. <Jobs /> Checkout from source control Git | SVN | CVS
  40. 40. <Jobs /> Build parameters Boolean | String | Choice | Text | …
  41. 41. Schedule Cron syntax <Jobs />
  42. 42. <Jobs /> Script execution Windows batch Linux shell …
  43. 43. <Jobs /> Email notifications Default Plugin
  44. 44. <Usage /> Running jobs
  45. 45. <Usage /> Checking the build queue
  46. 46. <Usage /> Viewing the build log
  47. 47. <Examples />
  48. 48.  Used by tech writers for authoring  No login required to run the job  Documentation hosted on a Linux webserver  Build parameters to choose  Builds from one SVN location (trunk)  Building and publishing logic in a C# script  Scheduled to run everyday between 1-2 am <#1 /> Publishing documentation to the draft server
  49. 49. <#1 /> Publishing documentation to the draft server Send an email notification if the build fails Check out source files from SVN Execute the C# script using provided parameter values
  50. 50. <#2 /> Publishing documentation to the test server  Used by localization engineers for QA  Login required to run the job  Documentation hosted on a Linux webserver  Build parameters to choose  Builds from different SVN locations (branches)  Building and publishing logic in a C# script  No schedule
  51. 51. <#2 /> Publishing documentation to the test server Send an email notification if the build fails Check out source files from SVN Execute the C# script using provided parameter values
  52. 52. <#3 /> Copying documentation from the test server to the production server  Used by localization engineers for publishing  Login required to run the job  Documentation hosted on a Linux webserver  Build parameters to choose  Copying logic in a Windows batch file  No schedule
  53. 53. <#3 /> Copying documentation from the test server to the production server Check out source files from SVN Execute the Windows batch file using provided parameter values
  54. 54. <Benefits/>
  55. 55. Other stuff Techwriter.pl: http://techwriter.pl/ ITCQF: http://itcqf.org/ Poland MadCap Flare User Group: https://web.facebook.com/groups/PLFUG/ Contact details Email: michal.skowron@3di-info.com LinkedIn: https://www.linkedin.com/in/michalskowron/ Resources 3di Poland SlideShare: https://www.slideshare.net/3diPoland 3di blog: http://3di.com.pl/blog/ <Info />

×