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

Travis-CI - Continuos integration in the cloud ...

Travis-CI - Continuos integration in the cloud for PHP

Federico Lozada Mosto

June 17, 2014
Tweet

More Decks by Federico Lozada Mosto

Other Decks in Programming

Transcript

  1. Deploy: Appfog Cloud66 Heroku Modulus Nodejitsu OpenShift cloudControl CloudFoundry RubyGems

    AWS OpsWorks PyPI Divshot.io Rackspace Cloud Files Npm S3 Ninefold Engine Yard Github Releases Custom deployment
  2. gi add . git commit . git push …. service

    hook run tests / builds fresh environments How does it work?
  3. Build lifecycle 1. before_install 2. install 3. before_script 4. script

    5. after_script 6. after_success or after_failure
  4. xdebug xml xmlreader Xmlrpc xmlwriter xsl zip zlib [Zend Modules]

    Xdebug bcmath bz2 Core ctype curl date dom ereg exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mcrypt mysql mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_pgsql pdo_sqlite pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvsem sysvshm tidy tokenizer VM - PHP
  5. email recipients: - [email protected] on_success: [always|never|change] # default: change on_failure:

    [always|never|change] # default: always irc: channels: - "chat.freenode.net#my-channel" on_success: [always|never|change] # default: always on_failure: [always|never|change] # default: always notifications
  6. Apc Memcache Memcached Mongo Amqp Zmq Xdebug Redis PHP extensions

    before_script - echo "extension = <extension>.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
  7. PHP extensions before_script - pear install <extension> - echo "extension

    = <extension>.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - php -m
  8. apt-get install !!! before_script: - curl http://repo.varnish-cache.org/debian/GPG-key.txt | \ sudo

    apt-key add - - echo "deb http://repo.varnish-cache.org/ubuntu/ precise varnish-3.0" | \ sudo tee -a /etc/apt/sources.list - sudo apt-get update -qq - sudo apt-get install varnish
  9. services services: - mongodb - couchdb - memcached env: -

    DB=mysql before_script: - mongo mydb_test --eval 'db.addUser("travis", "test");' - if [[ "$DB" == "mysql" ]]; then mysql -e "create database IF NOT EXISTS hello_world_test;" -uroot; fi