Phing all the things
-
Upload
omni-adams -
Category
Technology
-
view
433 -
download
0
description
Transcript of Phing all the things
![Page 1: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/1.jpg)
Phing All The Things - Omni Adams
![Page 2: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/2.jpg)
Phing All The Things - Omni Adams
lazydevelopment
![Page 3: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/3.jpg)
Phing All The Things - Omni Adams
![Page 4: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/4.jpg)
Phing All The Things - Omni Adams
Stay DRY
![Page 5: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/5.jpg)
Phing All The Things - Omni Adams
![Page 6: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/6.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 7: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/7.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 8: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/8.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 9: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/9.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 10: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/10.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 11: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/11.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing testBuildfile: /Users/Omni/phing-example/build.xml [property] Loading /Users/Omni/phing-example/build.properties
phing-example > test:
PHPUnit 3.7.13 by Sebastian Bergmann.
Configuration read from /Users/Omni/phing-example/phpunit.xml..............................Time: 0 seconds, Memory: 7.25Mb
OK (30 tests, 52 assertions)
BUILD FINISHEDTotal time: 0.3155 seconds
![Page 12: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/12.jpg)
Phing All The Things - Omni Adams
F.............................Time: 0 seconds, Memory: 7.25Mb
There was 1 failure:
1) GitTest::testGetCommitInfoLOL cats have clogged the tubes!/Users/Omni/phing-example/tests/GitTest.php:51
FAILURES!Tests: 30, Assertions: 51, Failures: 1.Execution of target "test" failed for the following reason: /Users/Omni/phing-example/build.xml:102:46: Task exited with code 1
BUILD FAILED/Users/Omni/phing-example/build.xml:102:46: Task exited with code 1Total time: 0.5653 seconds
![Page 13: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/13.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 14: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/14.jpg)
Phing All The Things - Omni Adams
<?xml version="1.0" encoding="UTF-8"?> <project name="phing-the-things" default="test"> <target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true" /> </target> </project>
![Page 15: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/15.jpg)
Phing All The Things - Omni Adams
F.............................Time: 0 seconds, Memory: 7.25Mb
There was 1 failure:
1) GitTest::testGetCommitInfoLOL cats have clogged the tubes!/Users/Omni/phing-example/tests/GitTest.php:51
FAILURES!Tests: 30, Assertions: 51, Failures: 1.
BUILD FINISHEDTotal time: 0.5619 seconds
![Page 16: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/16.jpg)
Phing All The Things - Omni Adams
![Page 17: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/17.jpg)
Phing All The Things - Omni Adams
● strict● colors● groups● command line flags
![Page 18: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/18.jpg)
Phing All The Things - Omni Adams
<target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true"> <arg value="--exclude-group=integration" /> </exec> </target>
![Page 19: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/19.jpg)
Phing All The Things - Omni Adams
<target name="test"> <exec executable="phpunit" passthru="true" checkreturn="true"> <arg value="${phpunitFlag}" /> </exec> </target>
![Page 20: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/20.jpg)
Phing All The Things - Omni Adams
![Page 21: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/21.jpg)
Phing All The Things - Omni Adams
<property name="test" value="--group=smoke" /> <property name="outputDir" value="./docs" />
![Page 22: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/22.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing test -DphpunitFlag=--group=smokeBuildfile: /Users/Omni/phing-example/build.xml [property] Loading /Users/Omni/phing-example/build.properties
phing-example > test:PHPUnit 3.7.13 by Sebastian Bergmann.
Configuration read from /Users/Omni/phing-example/phpunit.xml........Time: 0 seconds, Memory: 7.25Mb
OK (8 tests, 12 assertions)
BUILD FINISHEDTotal time: 0.1058 seconds
![Page 23: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/23.jpg)
Phing All The Things - Omni Adams
composer=/opt/composer.phar server1.user=oadams server1.url=www.example.lan <target name="properties-example"> <exec executable="${composer}" /> <exec executable="ssh" passthru="true"> <arg value="-t" /> <arg value="${server1.user}@${server1.url}" /> <arg value="sudo /sbin/service httpd restart" /> </exec> </target>
![Page 24: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/24.jpg)
Phing All The Things - Omni Adams
firstthings fir
st
![Page 25: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/25.jpg)
Phing All The Things - Omni Adams
author=Omni title=Phing All The Things
<property name="author" value="Other Guy" /> <property file="build.properties" /> <property name="title" value="Phing-A-Ling" />
![Page 26: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/26.jpg)
Phing All The Things - Omni Adams
![Page 27: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/27.jpg)
Phing All The Things - Omni Adams
<patternset id="files"> <include name="**/*.php" /> <exclude name="vendor/**" /> </patternset> <target name="phpcs"> <phpcodesniffer standard="./coding_rules.xml" format="full" showWarnings="true"> <fileset dir="."> <patternset refid="files" /> </fileset> </phpcodesniffer> </target>
![Page 28: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/28.jpg)
Phing All The Things - Omni Adams
![Page 29: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/29.jpg)
Phing All The Things - Omni Adams
<target name="document" depends="require-doc"> <mkdir dir="${doc}/api" /> <exec executable="${doc}/api" passthru="true" /> <arg value="--directory=." /> <arg value="--ignore=vendor/*" /> <arg value="--ignore=src/*" /> <arg value="--progressbar" /> <arg value="--target=${doc}/api" /> <arg value="--title=API documentation" /> </exec> </target>
![Page 30: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/30.jpg)
Phing All The Things - Omni Adams
<target name="document" depends="require-doc"> <mkdir dir="${doc}/api" /> <exec executable="${doc}/api" passthru="true" /> <arg value="--directory=." /> <arg value="--ignore=vendor/*" /> <arg value="--ignore=src/*" /> <arg value="--progressbar" /> <arg value="--target=${doc}/api" /> <arg value="--title=API documentation" /> </exec> </target>
![Page 31: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/31.jpg)
Phing All The Things - Omni Adams
<target name="document" depends="require-doc"> <mkdir dir="${doc}/api" /> <exec executable="${doc}/api" passthru="true" /> <arg value="--directory=." /> <arg value="--ignore=vendor/*" /> <arg value="--ignore=src/*" /> <arg value="--progressbar" /> <arg value="--target=${doc}/api" /> <arg value="--title=API documentation" /> </exec> </target>
![Page 32: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/32.jpg)
Phing All The Things - Omni Adams
<target name="document" depends="require-doc"> <mkdir dir="${doc}/api" /> <exec executable="${doc}/api" passthru="true" /> <arg value="--directory=." /> <arg value="--ignore=vendor/*" /> <arg value="--ignore=src/*" /> <arg value="--progressbar" /> <arg value="--target=${doc}/api" /> <arg value="--title=API documentation" /> </exec> </target>
![Page 33: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/33.jpg)
Phing All The Things - Omni Adams
<exec executable="ps" outputProperty="ps-output"> <arg value="x" /> <arg value="|" /> <arg value="grep" /> <arg value="selenium" /> <arg value="|" /> <arg value="grep" /> <arg value="-v" /> <arg value="grep" /> ... </exec>
![Page 34: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/34.jpg)
Phing All The Things - Omni Adams
<exec executable="ps" outputProperty="ps-output"> <arg line="x |grep selen |grep -v 'grep\|phing'" /> </exec>
![Page 35: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/35.jpg)
Phing All The Things - Omni Adams
![Page 36: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/36.jpg)
Phing All The Things - Omni Adams
![Page 37: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/37.jpg)
Phing All The Things - Omni Adams
![Page 38: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/38.jpg)
Phing All The Things - Omni Adams
<target name="build" depends="test" />
<target name="coverage" depends="require-doc" /> <exec executable="phpunit" passthru="true" /> <arg value="--coverage-html=${doc}/coverage" /> <arg value="${phpunitFlag}" /> </exec> </target>
![Page 39: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/39.jpg)
Phing All The Things - Omni Adams
<target name="require-doc"> <if> <not> <isset property="doc" /> </not> <then> <fail name="doc isn't set in .properties file" /> </then> </if> </target>
![Page 40: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/40.jpg)
Phing All The Things - Omni Adams
<property name="foo" value="not-test" /> <target name="example" depends="other-task"> <phingcall target="other-task"> <property name="foo" depends="test" /> <property name="bar" depends="test" /> </phingcall> <phingcall target="other-task" /> </target> <target name="other-task"> <echo message="${foo}" /> <echo message="${bar}" /> </target>
![Page 41: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/41.jpg)
Phing All The Things - Omni Adams
![Page 42: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/42.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate>
![Page 43: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/43.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate>
![Page 44: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/44.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate>
![Page 45: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/45.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate>
![Page 46: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/46.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate>
![Page 47: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/47.jpg)
Phing All The Things - Omni Adams
<uptodate property="css-compiled" targetfile="style.css"> <srcfiles dir="styles" includes="**/*less" /> </uptodate> <target name="compile-css" unless="css-compiled"> <exec executable="lessc" passthru="true" checkreturn="true"> <arg value="-x" /> <arg value="styles/*less" /> <arg value="style.css" /> </exec> </target>
![Page 48: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/48.jpg)
Phing All The Things - Omni Adams
![Page 49: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/49.jpg)
Phing All The Things - Omni Adams
<available property="composer-exists" file="composer.phar" /> <target name="get-composer" unless="composer-exists"> <exec executable="curl" output="composer.php"> <arg value="-sS" /> <arg value="https://getcomposer.org/installer" /> <arg value="|" /> <arg value="php" /> </exec> <chmod file="composer.phar" perm="664" /> </target>
![Page 50: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/50.jpg)
Phing All The Things - Omni Adams
<available property="composer-exists" file="composer.phar" /> <target name="get-composer" unless="composer-exists"> <exec executable="curl" output="composer.php"> <arg value="-sS" /> <arg value="https://getcomposer.org/installer" /> <arg value="|" /> <arg value="php" /> </exec> <chmod file="composer.phar" perm="775" /> </target>
![Page 51: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/51.jpg)
Phing All The Things - Omni Adams
![Page 52: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/52.jpg)
Phing All The Things - Omni Adams
![Page 53: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/53.jpg)
Phing All The Things - Omni Adams
ASS
UMPTIONS
![Page 54: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/54.jpg)
Phing All The Things - Omni Adams
![Page 55: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/55.jpg)
Phing All The Things - Omni Adams
![Page 56: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/56.jpg)
Phing All The Things - Omni Adams
![Page 57: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/57.jpg)
Phing All The Things - Omni Adams
<target name="tag" depends="require-version"> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> <gitpush repository="." tags="true" quiet="true" /> </target>
![Page 58: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/58.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing tagBuildfile: /Users/Omni/Sites/phing/build.xml [property] Loading /Users/Omni/Sites/phing/build.properties
phing-the-things > require-version:
[if] Error in IfTaskExecution of target "require-version" failed for the following reason: /Users/Omni/Sites/phing/build.xml:146:12: /Users/Omni/Sites/phing/build.xml:150:18: You must pass in a version: -Dversion=1.2.3BUILD FAILED/Users/Omni/Sites/phing/build.xml:146:12: /Users/Omni/Sites/phing/build.xml:150:18: You must pass in a version: -Dversion=1.2.3Total time: 1.5921 second
![Page 59: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/59.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing tag-no-versionBuildfile: /Users/Omni/Sites/phing/build.xml [property] Loading /Users/Omni/Sites/phing/build.properties
phing-the-things > tag-no-version:
[gittag] git-tag command: /usr/bin/git tag -a -m'Tagged version ${version}' '${version}' [gittag] git-tag: tags for "." repository [gittag] git-tag output:
BUILD FINISHED
Total time: 0.2039 seconds
phing-the-things $ git tag${version}
![Page 60: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/60.jpg)
Phing All The Things - Omni Adams
<target name="tag-version"> <version releasetype="${release}" file="version.txt" property="version" /> <exec executable="git" passthru="true"> <arg line="add version.txt" /> </exec> <exec executable="git" passthru="true"> <arg line="commit -m 'Updated version file to ${version}'" /> </exec> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 61: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/61.jpg)
Phing All The Things - Omni Adams
<target name="tag-version"> <version releasetype="${release}" file="version.txt" property="version" /> <exec executable="git" passthru="true"> <arg line="add version.txt" /> </exec> <exec executable="git" passthru="true"> <arg line="commit -m 'Updated version file to ${version}'" /> </exec> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 62: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/62.jpg)
Phing All The Things - Omni Adams
<target name="tag-version"> <version releasetype="${release}" file="version.txt" property="version" /> <exec executable="git" passthru="true"> <arg line="add version.txt" /> </exec> <exec executable="git" passthru="true"> <arg line="commit -m 'Updated version file to ${version}'" /> </exec> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 63: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/63.jpg)
Phing All The Things - Omni Adams
<target name="tag-version"> <version releasetype="${release}" file="version.txt" property="version" /> <exec executable="git" passthru="true"> <arg line="add version.txt" /> </exec> <exec executable="git" passthru="true"> <arg line="commit -m 'Updated version file to ${version}'" /> </exec> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 64: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/64.jpg)
Phing All The Things - Omni Adams
<target name="tag-version"> <version releasetype="${release}" file="version.txt" property="version" /> <exec executable="git" passthru="true"> <arg line="add version.txt" /> </exec> <exec executable="git" passthru="true"> <arg line="commit -m 'Updated version file to ${version}'" /> </exec> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 65: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/65.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing tag-version -Drelease=minorBuildfile: /Users/Omni/Sites/phing/build.xml [property] Loading /Users/Omni/Sites/phing/build.properties
phing-the-things > tag-version:
[master 4b48e9f] Updated version file to 0.1.0 1 file changed, 1 insertion(+), 1 deletion(-) [gittag] git-tag command: /usr/bin/git tag -a -m'Tagged version 0.1.0' '0.1.0' [gittag] git-tag: tags for "." repository [gittag] git-tag output:
BUILD FINISHEDTotal time: 0.3507 seconds
phing-the-things $ git tag0.0.10.1.0
![Page 66: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/66.jpg)
Phing All The Things - Omni Adams
<target name="release-major"> <phingcall target="tag-version"> <property name="release" value="major" /> </phingcall> </target>
<target name="release-minor"> <phingcall target="tag-version"> <property name="release" value="minor" /> </phingcall> </target>
![Page 67: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/67.jpg)
Phing All The Things - Omni Adams
<target name="tag-svn"> <svncopy svnpath="${svnpath}" username="${svnuser}" password="${svnpass}" nocache="true" repositoryurl="svn://localhost/phing-the-things/trunk/" todir="svn://localhost/phing-the-things/tags/${version}" /> </target>
![Page 68: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/68.jpg)
Phing All The Things - Omni Adams
<target name="tag-version-no-file"> <exec executable="git" outputProperty="latest-version"> <arg line="tag | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -1" /> </exec> <echo file="v.txt">${latest-version}</echo> <version releasetype="${release}" file="v.txt" property="version" /> <delete file="v.txt" /> <gittag annotate="true" name="${version}" repository="." message="Tagged version ${version}" /> </target>
![Page 69: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/69.jpg)
Phing All The Things - Omni Adams
<property name="build-url" value="https://jenkins/job/phing/lastBuild/api/json" /> <target name="require-green-build-check"> <exec executable="curl" outputProperty="status"> <arg line='--silent ${build-url} |grep result |cut -d" -f4' /> </exec> <if> <not><equals arg1="${status}" arg2="SUCCESS" /></not> <then><fail message="Jenkins build is broken" /></then> </if> </target>
![Page 70: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/70.jpg)
Phing All The Things - Omni Adams
<target name="deploy"> <phingcall target="require-release" /> <phingcall target="require-green-build-check" /> <phingcall target="tag-version-no-file" /> </target>
![Page 71: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/71.jpg)
Phing All The Things - Omni Adams
![Page 72: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/72.jpg)
Phing All The Things - Omni Adams
<target name="prepare"> <gitclone repository="git://server/phing-things.git" targetPath="build" /> <gitcheckout repository="build" branchname="${version}" quiet="true" /> <delete dir="build/tests" /> <delete file="build/build.xml" /> <tar destfile="build-${version}.tar.bz2" basedir="build" includeemptydir="true" compression="bzip2" /> <delete dir="build" /> </target>
![Page 73: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/73.jpg)
Phing All The Things - Omni Adams
<target name="deploy"> <phingcall target="require-release" /> <phingcall target="require-green-build-check" /> <phingcall target="tag-version-no-file" /> <phingcall target="prepare" /> </target>
![Page 74: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/74.jpg)
Phing All The Things - Omni Adams
<target name="upload"> <exec executable="scp" checkreturn="true"> <arg value="build-${version}.tar.bz2" /> <arg value="${server}:/var/www/" /> </exec> <exec executable="ssh" checkreturn="true" passthru="true"> <arg value="${server}" /> <arg value="cd /var/www;tar -xjf build-${version}.tar.bz2" /> </exec> </target>
![Page 75: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/75.jpg)
Phing All The Things - Omni Adams
<target name="deploy"> <phingcall target="require-release" /> <phingcall target="require-green-build-check" /> <phingcall target="tag-version-no-file" /> <phingcall target="prepare" /> <phingcall target="upload" /> </target>
![Page 76: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/76.jpg)
Phing All The Things - Omni Adams
<target name="go-live" depends="require-version"> <exec executable="ssh" checkreturn="true" passthru="true"> <arg value="${server}" /> <arg value="cd /var/www; ln -sf build-${version} app" /> </exec> </target>
![Page 77: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/77.jpg)
Phing All The Things - Omni Adams
<target name="deploy"> <phingcall target="require-release" /> <phingcall target="require-green-build-check" /> <phingcall target="tag-version-no-file" /> <phingcall target="prepare" /> <phingcall target="upload" /> <phingcall target="go-live" /> </target>
![Page 78: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/78.jpg)
Phing All The Things - Omni Adams
San
ityC
hec
k
![Page 79: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/79.jpg)
Phing All The Things - Omni Adams
![Page 80: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/80.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing go-live -Dversion=1.2.3
![Page 81: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/81.jpg)
Phing All The Things - Omni Adams
phing-the-things$ phing go-live -Dversion=1.2.3
![Page 82: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/82.jpg)
Phing All The Things - Omni Adams
!$monitored == !$exist
![Page 83: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/83.jpg)
Phing All The Things - Omni Adams
![Page 84: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/84.jpg)
Phing All The Things - Omni Adams
<?php require_once 'phing/Task.php'; class UpdateNewRelicTask extends Task { public function init() { // Runs when task is imported } public function main() { // Runs when task is executed } }
![Page 85: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/85.jpg)
Phing All The Things - Omni Adams
<taskdef name="newrelic" classname="UpdateNewRelicTask" /> <target name="update-new-relic"> <newrelic /> </target>
![Page 86: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/86.jpg)
Phing All The Things - Omni Adams
<taskdef name="newrelic" classname="UpdateNewRelicTask" /> <target name="update-new-relic"> <newrelic /> </target>
![Page 87: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/87.jpg)
Phing All The Things - Omni Adams
class UpdateNewRelicTask extends Task { protected $version;
public function setVersion($version) { $this->version = $version; } }
![Page 88: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/88.jpg)
Phing All The Things - Omni Adams
<target name="update-new-relic"> <newrelic version="${version}" /> </target>
![Page 89: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/89.jpg)
Phing All The Things - Omni Adams
public function main() { $options = array( CURLOPT_POSTFIELDS => array( 'deployment[application_id]' => $this->appId, 'deployment[description]' => $this->version ), CURLOPT_HTTPHEADER => array( 'x-api-key: ' . $this->apiKey ), CURLOPT_URL => $this->url, ); ...}
![Page 90: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/90.jpg)
Phing All The Things - Omni Adams
public function main() { ... $ch = curl_init(); curl_setopt_array($ch, $options); curl_exec($ch); curl_close($ch);}
![Page 91: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/91.jpg)
Phing All The Things - Omni Adams
![Page 92: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/92.jpg)
Phing All The Things - Omni Adams
![Page 93: Phing all the things](https://reader036.fdocuments.net/reader036/viewer/2022062404/554de181b4c905c70e8b5506/html5/thumbnails/93.jpg)
Phing All The Things - Omni Adams
• Omni Adams• @omnicolor• http://omni-spot.blogspot.com• [email protected]• https://joind.in/11182