Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="Deploy Service">
  3. <taskdef resource="net/sf/antcontrib/antlib.xml">
  4. <classpath>
  5. <pathelement location="${ant-contrib}"/>
  6. </classpath>
  7. </taskdef>
  8.  
  9. <echo>Deploying build ${build}</echo>
  10. <target name="getfile">
  11. <target name="getfile">
  12. <copy file="${backup.folder}/${software.name}-${build}.zip" todir="${builds.folder}" failonerror="false"/>
  13. <copy file="${dist.folder}/${software.name}-${build}.zip" todir="${builds.folder}" failonerror="false"/>
  14. </target>
  15. </target>
  16. <echo>Deploying build ${build}</echo>
  17. <target name="deploy" depends="getfile">
  18. <echo>Create folder</echo>
  19. <exec executable="ssh" failonerror="false">
  20. <arg value="${server}"/>
  21. <arg value="mkdir -p ${folder}"/>
  22. </exec>
  23. <echo>Copying startup and shutdown scripts</echo>
  24. <exec executable="scp" failonerror="true">
  25. <arg value="serviceStop.sh"/>
  26. <arg value="serviceStart.sh"/>
  27. <arg value="${server}:${folder}"/>
  28. </exec>
  29. <echo>Copying ${software.name}-${build}.zip</echo>
  30. <exec executable="scp" failonerror="true">
  31. <arg value="${builds.folder}/${software.name}-${build}.zip"/>
  32. <arg value="${server}:${folder}"/>
  33. </exec>
  34. <echo>Stopping the service</echo>
  35. <exec executable="ssh" failonerror="true">
  36. <arg value="${server}"/>
  37. <arg value="${folder}/serviceStop.sh"/>
  38. </exec>
  39. <echo>Removing old files</echo>
  40. <exec executable="ssh" failonerror="true">
  41. <arg value="${server}"/>
  42. <arg value="cd ${folder}; rm dist/*.jar; rm lib/*.jar"/>
  43. </exec>
  44. <echo>Deploying files</echo>
  45. <exec executable="ssh" failonerror="true">
  46. <arg value="${server}"/>
  47. <arg value="cd ${folder}; unzip -o ${software.name}-${build}.zip; chmod 0755 ${folder}/*.sh"/>
  48. </exec>
  49. <echo>Start the service</echo>
  50. <exec executable="ssh" failonerror="true">
  51. <arg value="${server}"/>
  52. <arg value="${folder}/serviceStart.sh"/>
  53. </exec>
  54. <echo>Remove zip file</echo>
  55. <exec executable="ssh" failonerror="true">
  56. <arg value="${server}"/>
  57. <arg value="rm ${folder}/${software.name}-*.zip"/>
  58. </exec>
  59. <echo>Test deployment</echo>
  60. <exec executable="ssh" failonerror="true">
  61. <arg value="${testing.server}"/>
  62. <arg value="${test.command}"/>
  63. </exec>
  64. <echo>Backup deployed file</echo>
  65. <copy file="${builds.folder}/${software.name}-${build}.zip" todir="${backup.folder}"/>
  66. </target>
  67.  
  68. <target name="testing" depends="getfile">
  69. <for list="${testing.server}" param="server">
  70. <sequential>
  71. <antcall target="deploy">
  72. <param name="server" value="@{server}"/>
  73. <param name="folder" value="${testing.deployment.folder}"/>
  74. </antcall>
  75. </sequential>
  76. </for>
  77. </target>
  78. <target name="staging" depends="getfile">
  79. <for list="${staging.server}" param="server">
  80. <sequential>
  81. <antcall target="deploy">
  82. <param name="server" value="@{server}"/>
  83. <param name="folder" value="${staging.deployment.folder}"/>
  84. </antcall>
  85. </sequential>
  86. </for>
  87. </target>
  88. <target name="pre-production" depends="getfile">
  89. <for list="${pre-production.server}" param="server">
  90. <sequential>
  91. <antcall target="deploy">
  92. <param name="server" value="@{server}"/>
  93. <param name="folder" value="${pre-production.deployment.folder}"/>
  94. </antcall>
  95. </sequential>
  96. </for>
  97. </target>
  98. <target name="production" depends="getfile">
  99. <for list="${production.server}" param="server">
  100. <sequential>
  101. <antcall target="deploy">
  102. <param name="server" value="@{server}"/>
  103. <param name="folder" value="${production.deployment.folder}"/>
  104. </antcall>
  105. </sequential>
  106. </for>
  107. </target>
  108. </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement