<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Deployment bei phphatesme (Stand Februar 2010)</title>
	<atom:link href="http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/</link>
	<description>PhpHatesMe, but that&#039;s ok!</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:59:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Von: Bastian</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41659</link>
		<dc:creator>Bastian</dc:creator>
		<pubDate>Tue, 02 Mar 2010 08:33:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41659</guid>
		<description>Bei demobereich.de haben wir ein automatisches Deployment integriert. Dh. bei jedem Commit wird automatisch, wenn gewünscht, ein Deploy angestoßen und direkt unter einer eigenen Subdomain veröffentlicht. Natürlich mit Zugriffsschutz für Projektmitglieder. Ich kann auch problemlos mehrere Branches gleichzeitig ausgecheckt zum Testen vorhalten, was bei größeren Projekten mit vielen Mitarbeitern sinnvoll ist. Dann hat jeder seine eigene Subdomain zum Testen und kann dort fleißig sein.</description>
		<content:encoded><![CDATA[<p>Bei demobereich.de haben wir ein automatisches Deployment integriert. Dh. bei jedem Commit wird automatisch, wenn gewünscht, ein Deploy angestoßen und direkt unter einer eigenen Subdomain veröffentlicht. Natürlich mit Zugriffsschutz für Projektmitglieder. Ich kann auch problemlos mehrere Branches gleichzeitig ausgecheckt zum Testen vorhalten, was bei größeren Projekten mit vielen Mitarbeitern sinnvoll ist. Dann hat jeder seine eigene Subdomain zum Testen und kann dort fleißig sein.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: sonyon</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41571</link>
		<dc:creator>sonyon</dc:creator>
		<pubDate>Sat, 27 Feb 2010 00:17:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41571</guid>
		<description>Las mich raten, deine &quot;geheime Url&quot; ist phphatesme.local? ;)</description>
		<content:encoded><![CDATA[<p>Las mich raten, deine &#8220;geheime Url&#8221; ist phphatesme.local? <img src='http://www.phphatesme.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: ShortUrls mit Wordpress &#124; PHP hates me - Der PHP Blog</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41541</link>
		<dc:creator>ShortUrls mit Wordpress &#124; PHP hates me - Der PHP Blog</dc:creator>
		<pubDate>Fri, 26 Feb 2010 06:01:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41541</guid>
		<description>[...] man seine URL auch im Backend strickt, es gibt immer eine kurze URL, die man verwenden kann: http://www.phphatesme.com/?p=5328. Diese leitet dann automatisch auf die schöne Url [...]</description>
		<content:encoded><![CDATA[<p>[...] man seine URL auch im Backend strickt, es gibt immer eine kurze URL, die man verwenden kann: <a href="http://www.phphatesme.com/?p=5328" rel="nofollow">http://www.phphatesme.com/?p=5328</a>. Diese leitet dann automatisch auf die schöne Url [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ulf</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41531</link>
		<dc:creator>Ulf</dc:creator>
		<pubDate>Thu, 25 Feb 2010 16:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41531</guid>
		<description>Gebe auch noch mal kurz meinen Senf hinzu (auch wenn recht spät und schon viel gesagt wurde).

Das automatische Deployen + das Verbiegen von symbolischen Links ist auch der Weg welchen ich beruflich nutze. Hat den erheblichen Vorteil super schnell und einfach zurückrollen zu können. Im Idealfall sollte das Deployen auf den Live-System aus getaggten Versionen des SVN kommen so weit sind wir aber auch noch nicht.

@Christian
Wir deployen mit phing. Hat den Vorteil dass man ein paar notwendige Änderungen während des deployen dort hinein tun kann (z.B. Adaption der htacess im Bezug auf environments usw. oder auch des Setzen der ZF-Library, die wir somit nicht jedes mal ausrollen müssen). Die ganzen PHAR-Befehle sind auch alle sehr trivial und erinnern sehr stark an Ant (und Maven). Vorteil daran ist auch man kann noch entsprechend loggen was bei Fehlschlägen von Builds ganz sinnvoll ist. Ebenso kann man die XML-Skripte selbst auch versionieren.

@Nils
PHP-Projekte selbst sind wohl selten über 1GB, aber Datenbanken sicherlich häufiger. Darum kann man da nicht so schnell was versionieren sonst ist die Platte schnell voll. Auch weiß ich nicht wie man 1GB mit Bildern vollpackt. Im Web sollten diese doch skaliert und optimiert sein. Das müssten ja dann &gt; 100.000 Bilder sein...

Im übrigen würde ich das Testsystem immer per htacess schützen. Das kann dann auch in den Build-Skript mit rein. Irgendwann erkennt Google doch mal die Seite bzw. der Konkurrent (für dieses private Projekt sicherlich nicht so wichtig, aber im business schon).

Bei Datenbankänderungen bin ich mittlerweile auch überzeugt, dass man diese nicht zu 100% versionieren kann. Ich glaube man muss für seinen Anwendungsfall den sinnvollsten Weg finden. Spätestens wenn man mit einem Deployments Spalten löscht kann man nicht ohne weiteres zurückrollen, da die Informationen nun mal gelöscht sind. Auch bei Hinzufügen von neuen Spalten (ich finde Doctrine handhabt das super) will man öfters auch diese Spalten mit irgendwelchen Werten füllen. Da ist mir noch kein Weg eingefallen, wie man dies automatisieren kann. Ebenso kommt bei System wie Wordpress (oder Magento) auch hinzu, dass man aufgrund von Änderungen im Admin-Panel Daten in der Datenbank verändert, löscht und hinzufügt. Kenne da auch keinen praktikablen Weg dies wieder dem SVN bekant zu machen (trivialer Fall: Der Blog-Admin installiert ein neues Plug-In).

Generell wäre das Thema automatisches Deployment sicherlich ein gutes Panel-Thema auf irgendwelchen Konferenten. MVC kann mittlerweile ja jeder (bzw. sollte es können ;) ), aber gerade beim Deployen kann man sicherlich noch viel optimieren. Auch da es wohl keine perfekte Lösung gibt.</description>
		<content:encoded><![CDATA[<p>Gebe auch noch mal kurz meinen Senf hinzu (auch wenn recht spät und schon viel gesagt wurde).</p>
<p>Das automatische Deployen + das Verbiegen von symbolischen Links ist auch der Weg welchen ich beruflich nutze. Hat den erheblichen Vorteil super schnell und einfach zurückrollen zu können. Im Idealfall sollte das Deployen auf den Live-System aus getaggten Versionen des SVN kommen so weit sind wir aber auch noch nicht.</p>
<p>@Christian<br />
Wir deployen mit phing. Hat den Vorteil dass man ein paar notwendige Änderungen während des deployen dort hinein tun kann (z.B. Adaption der htacess im Bezug auf environments usw. oder auch des Setzen der ZF-Library, die wir somit nicht jedes mal ausrollen müssen). Die ganzen PHAR-Befehle sind auch alle sehr trivial und erinnern sehr stark an Ant (und Maven). Vorteil daran ist auch man kann noch entsprechend loggen was bei Fehlschlägen von Builds ganz sinnvoll ist. Ebenso kann man die XML-Skripte selbst auch versionieren.</p>
<p>@Nils<br />
PHP-Projekte selbst sind wohl selten über 1GB, aber Datenbanken sicherlich häufiger. Darum kann man da nicht so schnell was versionieren sonst ist die Platte schnell voll. Auch weiß ich nicht wie man 1GB mit Bildern vollpackt. Im Web sollten diese doch skaliert und optimiert sein. Das müssten ja dann &gt; 100.000 Bilder sein&#8230;</p>
<p>Im übrigen würde ich das Testsystem immer per htacess schützen. Das kann dann auch in den Build-Skript mit rein. Irgendwann erkennt Google doch mal die Seite bzw. der Konkurrent (für dieses private Projekt sicherlich nicht so wichtig, aber im business schon).</p>
<p>Bei Datenbankänderungen bin ich mittlerweile auch überzeugt, dass man diese nicht zu 100% versionieren kann. Ich glaube man muss für seinen Anwendungsfall den sinnvollsten Weg finden. Spätestens wenn man mit einem Deployments Spalten löscht kann man nicht ohne weiteres zurückrollen, da die Informationen nun mal gelöscht sind. Auch bei Hinzufügen von neuen Spalten (ich finde Doctrine handhabt das super) will man öfters auch diese Spalten mit irgendwelchen Werten füllen. Da ist mir noch kein Weg eingefallen, wie man dies automatisieren kann. Ebenso kommt bei System wie WordPress (oder Magento) auch hinzu, dass man aufgrund von Änderungen im Admin-Panel Daten in der Datenbank verändert, löscht und hinzufügt. Kenne da auch keinen praktikablen Weg dies wieder dem SVN bekant zu machen (trivialer Fall: Der Blog-Admin installiert ein neues Plug-In).</p>
<p>Generell wäre das Thema automatisches Deployment sicherlich ein gutes Panel-Thema auf irgendwelchen Konferenten. MVC kann mittlerweile ja jeder (bzw. sollte es können <img src='http://www.phphatesme.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), aber gerade beim Deployen kann man sicherlich noch viel optimieren. Auch da es wohl keine perfekte Lösung gibt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Daniel</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41528</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Thu, 25 Feb 2010 13:29:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41528</guid>
		<description>Für das Wald- und Wiesen - Deployment möchte ich mal auf &quot;sitecopy&quot; hinweisen. Sitecopy ist mehr oder weniger ftp, nutzt aber Profile, um sich Server und Konfigurationen zu merken.
Man kann für verschiedene Releases neue Profile anlegen, für verschiedene Server ebenso und exclude bzw. ignore (.svn) Anweisungen geben. Sitecopy liest den Stand der remote site ein (fetch) und überträgt bei einem Update dann auch nur die geänderten Dateien. Ein Update ist dann z.B. der Befehl &quot;sitecopy -u my_site_v1&quot;...</description>
		<content:encoded><![CDATA[<p>Für das Wald- und Wiesen &#8211; Deployment möchte ich mal auf &#8220;sitecopy&#8221; hinweisen. Sitecopy ist mehr oder weniger ftp, nutzt aber Profile, um sich Server und Konfigurationen zu merken.<br />
Man kann für verschiedene Releases neue Profile anlegen, für verschiedene Server ebenso und exclude bzw. ignore (.svn) Anweisungen geben. Sitecopy liest den Stand der remote site ein (fetch) und überträgt bei einem Update dann auch nur die geänderten Dateien. Ein Update ist dann z.B. der Befehl &#8220;sitecopy -u my_site_v1&#8243;&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jerry</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41527</link>
		<dc:creator>Jerry</dc:creator>
		<pubDate>Thu, 25 Feb 2010 13:25:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41527</guid>
		<description>Von Capistrano (http://www.capify.org/index.php/Capistrano) kann man sich auch ein paar Anregungen holen. Dort werden Symlinks eingesetzt. Aber auch die Loesung fuer Daten, die per Upload ins htdocs-Verzeichnis kommen und nicht im Repository liegen, werden so behandelt</description>
		<content:encoded><![CDATA[<p>Von Capistrano (<a href="http://www.capify.org/index.php/Capistrano" rel="nofollow">http://www.capify.org/index.php/Capistrano</a>) kann man sich auch ein paar Anregungen holen. Dort werden Symlinks eingesetzt. Aber auch die Loesung fuer Daten, die per Upload ins htdocs-Verzeichnis kommen und nicht im Repository liegen, werden so behandelt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Alex</title>
		<link>http://www.phphatesme.com/blog/webentwicklung/deployment-bei-phphatesme-stand-februar-2010/comment-page-1/#comment-41526</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Thu, 25 Feb 2010 13:12:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.phphatesme.com/?p=5328#comment-41526</guid>
		<description>@Nils - unsere Seite ist aber leider so groß. Das liegt aber wirklich zu 90% an den Bildern. Die wurden damals mit ins SVN aufgenommen und haben sich seit dem immer weiter &quot;vermehrt&quot;. Inzwischen ist das Ganze einige GB groß. Deshalb können wir das dann nur per svn-update machen. Aber die .svn Ordner sind entsprechend geschützt. Und auf GIT wird auch bald umgestellt (dann fliegen sicher auch mal die Bilder ausm Repo).</description>
		<content:encoded><![CDATA[<p>@Nils &#8211; unsere Seite ist aber leider so groß. Das liegt aber wirklich zu 90% an den Bildern. Die wurden damals mit ins SVN aufgenommen und haben sich seit dem immer weiter &#8220;vermehrt&#8221;. Inzwischen ist das Ganze einige GB groß. Deshalb können wir das dann nur per svn-update machen. Aber die .svn Ordner sind entsprechend geschützt. Und auf GIT wird auch bald umgestellt (dann fliegen sicher auch mal die Bilder ausm Repo).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

