Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using & Extending Composer

Using & Extending Composer

My talk from Symfony Live 2013 in Berlin.

Till Klampaeckel

November 07, 2013
Tweet

More Decks by Till Klampaeckel

Other Decks in Technology

Transcript

  1. www.easybib.com [email protected] EasyBib.com EasyBib is an citation management platform. 40

    million students use EasyBib every year. Over 1000 institutions subscribe, including 100 large US universities and 900 high schools and districts.
  2. www.easybib.com [email protected] ResearchReady.com ResearchReady teaches information literacy skills in a

    core curriculum. Universities and districts subscribe to give their students a research skill boost. Launched in January 2013.
  3. www.easybib.com [email protected] Stack •PHP (5.3 & 5.4, on the way

    to 5.5) •Nginx + Linux •AWS (OpsWorks, RDS, ElasticCache) •Solr, ElasticSearch •CouchDB / BigCouch •Travis-CI, PHPUnit, Behat •Vagrant, Chef, Virtualbox, Packer
  4. www.easybib.com [email protected] Shipping it • `git tag -a 1.0.0 -m

    “this is my rock-solid 1.0.0”`
 `git push --tags` • `svn cp trunk tags/1.0.0`
  5. www.easybib.com [email protected] Consuming {
 “name”: “fabpot/awesome”,
 “repositories”: [
 {
 “type”:”package”,


    “package”: {
 “name”: “sensio/legacy-code”,
 “version”: “3.2.4”,
 “dist”: {
 “url”: “http://dev.local/secret.zip”,
 “type”: “zip”
 }
 }
 }
 ],
 “require”: {
 “sensio/legacy-code”: “3.2.4”,
 “till/secret-sauce”: “~1.0”
 }
 }
  6. www.easybib.com [email protected] What else? • Update your dependencies. • Search

    for dependencies. • Development dependencies. • Classmap and PSR-0 autoloaders. • “help”
  7. www.easybib.com [email protected] Things that will go wrong • Github is

    down. • Packagist is down. • Internet is slow. • Internet doesn’t work. • Tags get deleted. (cc fabpot :)
  8. www.easybib.com [email protected] satis.json {
 "name": "Till's satis",
 "homepage": "http://satis.local",
 "require-all":

    true,
 "repositories": [
 {"packagist": false},
 {
 "type":"vcs",
 "url":"http://github.com/fabpot/symfony"
 }
 ]
 }
  9. www.easybib.com [email protected] Go back {
 “name”: “fabpot/awesome”,
 “repositories”: [
 {


    “type”:”composer”,
 “url”: “http://satis.local”
 }
 ],
 “require”: {
 “sensio/legacy-code”: “3.2.4”,
 “till/secret-sauce”: “~1.0”
 }
 }
  10. www.easybib.com [email protected] Next steps • fork code — e.g. to

    a local backup server • generate your own downloads • configure Amazon S3 as a backend