Fwd: [PEAR-DEV] Non-PEAR, PHP package deployment through official PEAR channel?

From: Date: Tue, 17 Aug 2010 20:38:33 +0000
Subject: Fwd: [PEAR-DEV] Non-PEAR, PHP package deployment through official PEAR channel?
References: 1 2 3 4 5  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-53677@lists.php.net to get a copy of this message
Forwarding Ryan's detailed email as it was intended to be send to the list. ;-) ---------- Forwarded message ---------- From: Ryan Parman <ryan.lists.warpshare@gmail.com> Date: Tue, Aug 17, 2010 at 4:49 AM Subject: Re: [PEAR-DEV] Non-PEAR, PHP package deployment through official PEAR channel? To: till@php.net On Aug 16, 2010, at 10:41 AM, till wrote: > On Mon, Aug 16, 2010 at 5:47 PM, Ryan Parman > <ryan.lists.warpshare@gmail.com> wrote: >> On Aug 16, 2010, at 1:44 AM, Daniel O'Connor wrote: >> >>> >>> I'm keenly interested in avoiding the infrastructure requirements (however minor) >>> of running my own PEAR channel >>> I know you said the above; but in addition to Christian's answers... >>> >>> http://www.pirum-project.org/ = insanely easy to do if >>> you've got a scrap of web space anywhere. >>> >>> http://saltybeagle.com/2008/12/using-simplechannelserver-to-manage-a-pear-channel-on-google-code/ >>> = pretty easy to do and ends up letting you host on google code >> >> After I posted, I also discovered Pirum. I'm taking a look at running it from GitHub >> and/or S3. > > Maybe you can share your discoveries. I remember we wanted to look > into running a channel from github for SCS as well. It would seem that a PEAR channel is little more than *.xml, *.txt and *.tgz files. You can host it pretty much anywhere. Once I had all of my code together, I: 1. Used http://pear.php.net/package/PEAR_PackageFileManager_Cli/ to generate a package.xml file. 2. Used pear package to bundle up my code into the correct *.tgz file. 3. Used http://pirum-project.org to generate my PEAR channel files. You can create a GitHub homepage that lives at username.github.com; this is done via the GitHub website. You then switch to your gh_pages branch, replace everything there with the Pirum-created PEAR channel files, and commit/push to GitHub. Or for S3, you can just create a new bucket (buckets must be globally unique), upload the channel files, give the bucket & files public-read permissions, and you're set. The advantage of S3 is that you can configure access logging for your PEAR channel. If you want faster worldwide delivery, you can configure a CloudFront domain for your S3 bucket. Since these domain names are a random mix of letters, I would recommend setting up a DNS CNAME record for it. -- In short: GitHub:  * Pros: Simple and fast  * Cons: No additional niceties Amazon S3:  * Pros: Simple, fast, and allows access logging to track downloads and user agents  * Cons: Has a small cost associated with storage & data transfer Amazon S3 + CloudFront  * Pros: Pulls content from S3; has the advantages of S3; has better delivery performance with edge servers around the world  * Cons: All the cons of S3; one-time configuration is a tad more complex; minimum time that files stay cached on the edge servers is 1 hour (defaults to 24 hours); CNAME configuration is recommended -- In the end: * I'll be providing a direct *.zip/*.tar.gz download from S3/CloudFront. * I'll be leveraging GitHub's Git & Subversion interfaces <http://github.com/blog/626-announcing-svn-support> * I'll be hosting my PEAR channel in S3. Since I'm not intimidated by the initial configuration, DNS CNAME setup, or associated storage/transfer costs, I'll leverage the CloudFront CDN network too. Thanks for the direction, everyone. :)

« previous php.pear.dev (#53677) next »