Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="Deploy Service">
- <taskdef resource="net/sf/antcontrib/antlib.xml">
- <classpath>
- <pathelement location="${ant-contrib}"/>
- </classpath>
- </taskdef>
- <echo>Deploying build ${build}</echo>
- <target name="getfile">
- <target name="getfile">
- <copy file="${backup.folder}/${software.name}-${build}.zip" todir="${builds.folder}" failonerror="false"/>
- <copy file="${dist.folder}/${software.name}-${build}.zip" todir="${builds.folder}" failonerror="false"/>
- </target>
- </target>
- <echo>Deploying build ${build}</echo>
- <target name="deploy" depends="getfile">
- <echo>Create folder</echo>
- <exec executable="ssh" failonerror="false">
- <arg value="${server}"/>
- <arg value="mkdir -p ${folder}"/>
- </exec>
- <echo>Copying startup and shutdown scripts</echo>
- <exec executable="scp" failonerror="true">
- <arg value="serviceStop.sh"/>
- <arg value="serviceStart.sh"/>
- <arg value="${server}:${folder}"/>
- </exec>
- <echo>Copying ${software.name}-${build}.zip</echo>
- <exec executable="scp" failonerror="true">
- <arg value="${builds.folder}/${software.name}-${build}.zip"/>
- <arg value="${server}:${folder}"/>
- </exec>
- <echo>Stopping the service</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${server}"/>
- <arg value="${folder}/serviceStop.sh"/>
- </exec>
- <echo>Removing old files</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${server}"/>
- <arg value="cd ${folder}; rm dist/*.jar; rm lib/*.jar"/>
- </exec>
- <echo>Deploying files</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${server}"/>
- <arg value="cd ${folder}; unzip -o ${software.name}-${build}.zip; chmod 0755 ${folder}/*.sh"/>
- </exec>
- <echo>Start the service</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${server}"/>
- <arg value="${folder}/serviceStart.sh"/>
- </exec>
- <echo>Remove zip file</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${server}"/>
- <arg value="rm ${folder}/${software.name}-*.zip"/>
- </exec>
- <echo>Test deployment</echo>
- <exec executable="ssh" failonerror="true">
- <arg value="${testing.server}"/>
- <arg value="${test.command}"/>
- </exec>
- <echo>Backup deployed file</echo>
- <copy file="${builds.folder}/${software.name}-${build}.zip" todir="${backup.folder}"/>
- </target>
- <target name="testing" depends="getfile">
- <for list="${testing.server}" param="server">
- <sequential>
- <antcall target="deploy">
- <param name="server" value="@{server}"/>
- <param name="folder" value="${testing.deployment.folder}"/>
- </antcall>
- </sequential>
- </for>
- </target>
- <target name="staging" depends="getfile">
- <for list="${staging.server}" param="server">
- <sequential>
- <antcall target="deploy">
- <param name="server" value="@{server}"/>
- <param name="folder" value="${staging.deployment.folder}"/>
- </antcall>
- </sequential>
- </for>
- </target>
- <target name="pre-production" depends="getfile">
- <for list="${pre-production.server}" param="server">
- <sequential>
- <antcall target="deploy">
- <param name="server" value="@{server}"/>
- <param name="folder" value="${pre-production.deployment.folder}"/>
- </antcall>
- </sequential>
- </for>
- </target>
- <target name="production" depends="getfile">
- <for list="${production.server}" param="server">
- <sequential>
- <antcall target="deploy">
- <param name="server" value="@{server}"/>
- <param name="folder" value="${production.deployment.folder}"/>
- </antcall>
- </sequential>
- </for>
- </target>
- </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement