modified version of jenkins debian glue (https://github.com/mika/jenkins-debian-glue) for devuan
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

96 lines
3.2 KiB

  1. # This jenkins-job-build configuration sets up Jenkins jobs
  2. # for building Debian packages of jenkins-debian-glue
  3. # which are provided using the repository software called freight
  4. # [https://github.com/rcrowley/freight/] then.
  5. - project:
  6. name: jdg-freight
  7. repos: git://github.com/mika/jenkins-debian-glue.git
  8. jobs:
  9. - '{name}-source'
  10. - '{name}-binaries'
  11. - job-template:
  12. name: '{name}-source'
  13. project-type: freestyle
  14. description: 'Build Debian source package of {name}.<br />Do not edit this job through the web, it is generated via jenkins-job-builder!'
  15. disabled: false
  16. scm:
  17. - git:
  18. url: '{repos}'
  19. name: origin
  20. refspec: +refs/heads/*:refs/remotes/origin/*
  21. basedir: source
  22. branches:
  23. - master
  24. wipe-workspace: false
  25. builders:
  26. - shell: 'rm -f ./* || true'
  27. - shell: '/usr/bin/generate-git-snapshot'
  28. - shell: |
  29. mkdir -p report
  30. /usr/bin/lintian-junit-report *.dsc > report/lintian.xml
  31. publishers:
  32. - archive:
  33. artifacts: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.git,*.changes,lintian.txt'
  34. - trigger:
  35. project: '{name}-binaries'
  36. - junit:
  37. results: '**/lintian.xml'
  38. keep-long-stdio: false
  39. - fingerprint:
  40. record-artifacts: true
  41. wrappers:
  42. - timestamps
  43. - job-template:
  44. name: '{name}-binaries'
  45. project-type: matrix
  46. description: |
  47. <p>Build Debian binary packages of {name}.<br />Do not edit this job through the web, it is generated via jenkins-job-builder!</p>
  48. <h2>Usage instructions how to remotely access and use the repository:</h2>
  49. <p>Install apache webserver:</p>
  50. <pre>
  51. sudo apt-get install apache2
  52. sudo ln -s /var/cache/freight /var/www/debian
  53. </pre>
  54. <p>Then access to this repository is available using the following sources.list entry:</p>
  55. <pre>
  56. deb http://$jenkins_server/debian/ {name} main
  57. deb-src http://$jenkins_server/debian/ {name} main
  58. </pre>
  59. execution-strategy:
  60. sequential: true
  61. axes:
  62. - axis:
  63. type: user-defined
  64. name: architecture
  65. values:
  66. - amd64
  67. builders:
  68. - copyartifact:
  69. project: '{name}-source'
  70. filter: '*'
  71. which-build: upstream-build
  72. fallback-to-last-successful: true
  73. - shell: |
  74. export USE_FREIGHT=true
  75. export SUDO_CMD=sudo
  76. export KEY_ID=DEADBEEF # please adjust, or edit /etc/freight.conf
  77. /usr/bin/build-and-provide-package
  78. - shell: |
  79. mkdir -p report
  80. /usr/bin/lintian-junit-report *.changes > report/lintian.xml
  81. publishers:
  82. - archive:
  83. artifacts: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.git,*.changes,lintian.txt'
  84. - junit:
  85. results: '**/lintian.xml'
  86. keep-long-stdio: false
  87. - fingerprint:
  88. record-artifacts: true
  89. - workspace-cleanup:
  90. dirmatch: false
  91. wrappers:
  92. - timestamps