Das IDE Tagebuch letzter Teil 7 (vorläufig..)
Guten Abend liebe Limespacer,
und willkommen zum vorläufig letzten Teil unseres kleinen Tagebuches, ich muss gestehen wir haben fertig. Was wir heute schreiben läuft bei uns nun schon einwandfrei 🙂
Was wollen wir heute noch machen :
- unser Build.xml fertigstellen
- PHPUnit in den build einbauen
- ein Release bauen
Wer noch kein Phing am laufen hat, sollte dann noch einen Blick auf den letzten Teil werfen.
Wenn ihr jetzt „phing -buildfile build.xml“ in eurem Projekt-Ordner aufruft sollte automatisch ein Export aus eurem Subversion geschehen und alle Datein im Build/src ordner vorhanden sein. Das alleine bringt uns natürlich noch nicht viel weiter, der Sinn der Übung ist ja alles was wir sonst händisch maschen automatisch erledigen zu lassen.
Bei uns handelt es sich dabei meistens um folgende Schritte bevor wir ein neues Release einer Webseite/Anwendung live schalten.
Ausführen der Unittests – Export – „schrott“ löschen – packen
Beginnen wir mit dem Part für die Unittests, diese sollen VOR dem Export laufen, wenn die Tests fehlschlagen brauchen wir auch keinen Export 🙂
Zum starten des folgenden Targets fügt ihr in das prepare Target :
<phingcall target=“phpunit“ />
ein..
Anschließend tragen wir in unserer Build.xml folgendes „Target“ ein :
<target name=“phpunit“>
<echo msg=“Fange mit dem testen an…“ />
<phpunit haltonfailure=“true“ printsummary=“true“>
<formatter todir=“/${build-dir}/reports“ type=“xml“/>
<batchtest>
<fileset dir=“test“>
<include name=“*“ />
<include name=“meineTests.php“/>
</fileset>
</batchtest>
</phpunit></target>
Das ganze bewirkt das PHPUNIT unsere Datei „meineTests.php“ startet , wo wir wiederum alle Tests starten, wie das bei euch organisiert ist müsst ihr selber wissen!
Als nächstes kommt dann der SVN Export (habt ihr ja bereits) , nun wollen wir noch überflüssige Files entfernen, die auf unserem Webserver nicht benötigt werden. Bei uns sind das zum Beispiel Tests oder info Dateien. Dieses erledigen wir in unserem „BUILD“ Task, der anschließend auch gleich das passende .ZIP File erstellt.
<target name=“build“>
<tstamp>
<format property=“check.date.time“ pattern=“%Y%m%d-%H%M%S“ locale=“en_US“/>
</tstamp><echo msg=“Loesche nicht benoetigte Verzeichnisse und Dateien…“ />
<delete dir=“/${build-dir}/src/sql/“ includeemptydirs=“true“ verbose=“true“ failonerror=“true“ />
<delete dir=“/${build-dir}/src/test/“ includeemptydirs=“true“ verbose=“true“ failonerror=“true“ />
<delete dir=“/${build-dir}/src/doc/“ includeemptydirs=“true“ verbose=“true“ failonerror=“true“ />
<delete file=“/${build-dir}/src/build.xml“ />
<delete file=“/${build-dir}/src/build.properties“ /><mkdir dir=“/${build-dir}/release/PROJEKT-${check.date.time}“ />
<copy todir=“/${build-dir}/release/PROJEKT-${check.date.time}“>
<fileset dir=“/${build-dir}/src“>
<include name=“**“ />
<exclude name=“htaccess“ />
</fileset>
</copy><echo msg=“Packen…“ />
<zip destfile=“/${build-dir}/release/PROJEKT_${check.date.time}.zip“
basedir=“/${build-dir}/release/PROJEKT-${check.date.time}“ />
</target><target name=“dist“ depends=“export“>
<phingcall target=“build“ />
</target>
Der erste Teil hohlt uns einen aktuellen Timestamp, welchen wir an die Datei & Ordner Bezeichnung hängen, danach werden ein paar Ordner gelöscht, und ein ZIP File geschrieben. Der letzte Teil startet den Build. Zu letzt gehört noch ein abschließendes
</project>
in die Build.xml , FERTIG 😉
Wenn ihr jetzt in eurem Projekt-Ordner „phing -buildfile build.xml“ aufruft sollte alles so geschehen wie wir uns das vorgestellt haben.
Die komplette Build.xml könnt ihr natürlich auch downloaden 😉
So das war es nun vorläufig, man o man eine Menge Text, bestimmt viel Verwirrung bei euch, und eine Menge Spaß bei uns ! Viel Spaß beim Ausprobieren.
- Teil 1 des Tagebuches : Grundladen, Server, Xampp oder Zend
- Teil 2 des Tagebuches : Virtualbox – Windows XP installieren
- Teil 3 des Tagebuches : Installation Zend Community Server
- Teil 4 des Tagebuches : Pear – Subversion für Windows
- Teil 5 des Tagebuches : Phing und PHPUnit
- Teil 6 des Tagebuches : Codesniffer und Vorbereitung von PHING
- Teil 7 des Tagebuches : Fertigstellen Build Tasks und CHAOS 😉
Neue Kommentare