Guest User

Untitled

a guest
Nov 23rd, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #!/usr/bin/env groovy
  2.  
  3. pipeline {
  4.  
  5. agent { node { label 'php71' } }
  6.  
  7. environment {
  8. packageName='my-package'
  9. packageVersion=''
  10. groupId='vznl'
  11. nexus_endpoint='http://nexus.devtools.io'
  12. nexus_username='jenkins'
  13. nexus_password='J3nkins'
  14. }
  15.  
  16. stages{
  17.  
  18. // Package dependencies
  19. stage('Install dependencies') {
  20. steps {
  21. sh '''
  22. echo Skip composer installation
  23. #composer install --prefer-dist --optimize-autoloader --no-interaction
  24. '''
  25. }
  26. }
  27.  
  28. // Unit tests
  29. stage('Unit Tests') {
  30. steps {
  31. sh '''
  32. echo Running PHP code coverage tests...
  33. #composer test
  34. '''
  35. }
  36. }
  37.  
  38. // Create artifact
  39. stage('Package') {
  40. steps {
  41. echo 'Create package refs'
  42. sh """
  43. mkdir -p ./build/zpk
  44. VERSIONTAG=$(grep 'version' composer.json)
  45. REGEX='"version": "([0-9]+.[0-9]+.[0-9]+)"'
  46. if [[ ${VERSIONTAG} =~ ${REGEX} ]]
  47. then
  48. env.packageVersion=${BASH_REMATCH[1]}
  49. /usr/bin/zs-client packZpk --folder=. --destination=./build/zpk --name=${env.packageName}-${env.packageVersion}.zpk --version=${env.packageVersion}
  50. else
  51. echo "No version found!"
  52. exit 1
  53. fi
  54. """
  55. }
  56. }
  57.  
  58. // Publish ZPK package to Nexus
  59. stage('Publish packages') {
  60. steps {
  61. echo "Publish ZPK Package"
  62. sh "curl -u ${env.nexus_username}:${env.nexus_password} --upload-file ./build/zpk/${env.packageName}-${env.packageVersion}.zpk ${env.nexus_endpoint}/repository/zpk-packages/${groupId}/${env.packageName}-${env.packageVersion}.zpk"
  63. archive includes: './build/**/*.{zpk,rpm,deb}'
  64. }
  65. }
  66. }
  67. }
Add Comment
Please, Sign In to add comment