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 jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com What else? • Update your dependencies. • Search

    for dependencies. • Development dependencies. • Classmap and PSR-0 autoloaders. • “help”
  7. www.easybib.com jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com 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 jobs@imagineeasy.com Next steps • fork code — e.g. to

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