-
Notifications
You must be signed in to change notification settings - Fork 6
/
build.xml
109 lines (94 loc) · 4.35 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0" encoding="UTF-8"?>
<project name="callingallpapers.api" default="build" basedir=".">
<property file="./build.property"/>
<property file="./build.property.dist"/>
<target name="update">
<echo message="Updating composer-binary"/>
<exec command="composer self-update"/>
<echo message="Updating Requirements"/>
<exec command="composer update --no-dev" />
</target>
<target name="test">
<phpunit configuration="phpunit.xml.dist">
<formatter type = "plain" usefile = "false"/>
<batchtest>
<fileset dir = "src/module/Phpug/tests">
<include name = "**/*Test*.php"/>
</fileset>
</batchtest>
</phpunit>
</target>
<target name="build">
</target>
<target name="updatePhp">
<composer command="install"/>
</target>
<target name="updateAssets">
<exec command="bower install"/>
</target>
<target name="createDeployFolder">
<echo>Creating Deployment-Folder</echo>
<mkdir dir="${deploy.local_folder}" />
<copy todir="${deploy.local_folder}">
<fileset dir="." excludesfile=".deploy/deploy_exclude.property" includesfile=".deploy/deploy_include.property" />
</copy>
</target>
<target name="copyDeployFolderToServer">
<echo>Copying files to target ${deploy.target}</echo>
<exec command="ssh -i ${deploy.identity_file} ${deploy.user}@${deploy.target} 'mkdir -p ${deploy.location}'" />
<exec dir="${deploy.local_folder}" command="scp -i ${deploy.identity_file} -rv ./* ${deploy.user}@${deploy.target}:${deploy.location}" />
</target>
<target name="syncDeployFolderToServer">
<echo>Creating location ${deploy.location} on the server</echo>
<exec command="ssh -o StrictHostKeyChecking=no -i ${deploy.identity_file} ${deploy.user}@${deploy.target} 'mkdir -p ${deploy.location}'" />
<echo>Synching files to target ${deploy.target}</echo>
<filesync destinationDir="${deploy.user}@${deploy.target}:${deploy.location}"
rsyncPath="${deploy.path_to_rsync}"
sourceDir="${deploy.local_folder}/."
checksum="true"
options="-e 'ssh -o StrictHostKeyChecking=no -i ${deploy.identity_file}' -aKz"
/>
</target>
<target name="callPostDeployScriptOnServer">
<echo>Calling post-deploy-script on target ${deploy.target}</echo>
<exec command="ssh -i ${deploy.identity_file} ${deploy.user}@${deploy.target} '${deploy.location}/${deploy.post_deploy_script}'"/>
</target>
<target name="callPreDeployScriptOnServer" >
<if>
<available file="${deploy.local_folder}/${deploy.pre_deploy_script}"/>
<then>
<echo>Calling pre-deploy-script on target ${deploy.target}</echo>
<loadfile property="deploy.pre_deploy_script_content" file="${deploy.local_folder}/${deploy.pre_deploy_script}"/>
<exec command="ssh -i ${deploy.identity_file} ${deploy.user}@${deploy.target} '${deploy.pre_deploy_script_content}'"/>
</then>
</if>
</target>
<target name="deployFolderToServer">
<phingcall inheritAll="true" target="syncDeployFolderToServer"/>
<!--
<if>
<equals arg1="sync" arg2="${deploy.method}"/>
<then>
<phingcall inheritAll="true" target="syncDeployFolderToServer"/>
</then>
<elseif>
<equals arg1="copy" arg2="${deploy.method}"/>
<then>
<phingcall target="copyDeployFolderToServer" inheritAll="true"/>
</then>
</elseif>
</if>
-->
</target>
<target name="removeDeployFolder">
<delete dir="${deploy.local_folder}" includeemptydirs="true"/>
</target>
<target name="deploy" depends="update, updateAssets">
<echo>Deploying application</echo>
<phingcall inheritAll="true" target="createDeployFolder"/>
<phingcall inheritAll="true" target="callPreDeployScriptOnServer"/>
<phingcall inheritAll="true" target="deployFolderToServer"/>
<phingcall inheritAll="true" target="callPostDeployScriptOnServer"/>
<phingcall inheritAll="true" target="removeDeployFolder"/>
</target>
</project>