8 * __machine__: adjusting the VM to your preferences and requirements
9 * __checkout__: checking out and cloning your git repo
10 * __dependencies__: setting up your project's language-specific dependencies
11 * __database__: preparing the databases for your tests
12 * __test__: running your tests
13 * __deployment__: deploying your code to your web servers
15 See: <https://circleci.com/docs/configuration>
20 ## Customize the test machine
24 America/Los_Angeles # Set the timezone
26 # Version of ruby to use
29 1.8.7-p358-falcon-perf
34 dev.mycompany.com: 127.0.0.1
36 # Add some environment variables
39 DATABASE_URL: postgres://ubuntu:@127.0.0.1:5432/circle_test
45 - git submodule update --init # use submodules
47 ## Customize dependencies
50 - npm install coffeescript # install from a different package manager
51 - gem uninstall bundler # use a custom version of bundler
52 - gem install bundler --pre
55 - bundle install: # note ':' here
56 timeout: 180 # fail if command has no output for 3 minutes
58 # we automatically cache and restore many dependencies between
59 # builds. If you need to, you can add custom paths to cache:
61 - "custom_1" # relative to the build directory
62 - "~/custom_2" # relative to the user's home directory
64 ## Customize database setup
67 # replace CircleCI's generated database.yml
68 - cp config/database.yml.ci config/database.yml
69 - bundle exec rake db:create db:schema:load
71 ## Customize test commands
74 - phpunit test/unit-tests # use PHPunit for testing
76 - bundle exec rake jasmine:ci: # add an extra test type
81 ## Customize deployment commands
88 ## Custom notifications
91 # A list of hashes representing hooks. Only the url field is supported.
92 - url: https://someurl.com/hooks/circle
95 See: <https://circleci.com/docs/config-sample>