Guest User

Untitled

a guest
Apr 24th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. pipeline {
  2. agent any
  3. parameters {
  4. // Define choice parameter.
  5. choice (
  6. name: 'BuildType',
  7. choices: 'debug\nrelease'
  8. description: 'Choose build type.'
  9. )
  10. // Define string parameter.
  11. string (
  12. name: 'CommitId',
  13. defaultValue: '*/master',
  14. description: 'Insert commit id or leave as default to use head'
  15. )
  16. // Define boolean parameter.
  17. booleanParam (
  18. name: 'UseTest',
  19. defaultValue: true,
  20. description: 'Decide to use Test or not.'
  21. )
  22. }
  23.  
  24. stages {
  25. stage('Build') {
  26. steps {
  27. // Save stdout to a variable.
  28. def result = sh returnStdout: true, script: """
  29. "make -C ./build/${params.BuildType}/ -j4"
  30. """
  31.  
  32. // Use a variable insde "".
  33. println "result: ${result}"
  34. }
  35.  
  36. // Archive result file to master node.
  37. archive "build/${params.BuildType}/*.rpm"
  38. }
  39. stage('Test') {
  40. when {
  41. // This stage is processed only when UseTest is true.
  42. environment name: 'UseTest', value: 'true'
  43. }
  44. steps {
  45. //
  46. }
  47. }
  48. stage('Deploy') {
  49. // Agent is specified as only master node can access remote server.
  50. // To do this, the result rpm file must have been archived.
  51. agent {
  52. label 'master'
  53. }
  54. steps {
  55. // using simple sh
  56. sh "scp ./build_result.rpm aws-test:"
  57. }
  58. }
  59. }
  60. }
Add Comment
Please, Sign In to add comment