Kyle Tyacke
API Evangelist for Akamai. Web Developer. Beer Geek.
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
–https://www.thoughtworks.com/continuous-integration
#NDCOslo
@geekgonenomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
#NDCOslo
@geekgonenomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
#NDCOslo
@geekgonenomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
#NDCOslo
@geekgonenomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
#NDCOslo
@geekgonenomad
...a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
INSTALL
before_install
install
BUILD
before_script
script
after_success
after_failure
after_script
DEPLOY
before_deploy
deploy
after_deploy
#NDCOslo
@GeekGoneNomad
INSTALL
before_install
install
BUILD
before_script
script
after_success
after_failure
after_script
DEPLOY
before_deploy
deploy
after_deploy
#NDCOslo
@GeekGoneNomad
INSTALL
before_install
install
BUILD
before_script
script
after_success
after_failure
after_script
DEPLOY
before_deploy
deploy
after_deploy
#NDCOslo
@GeekGoneNomad
INSTALL
before_install
install
BUILD
before_script
script
after_success
after_failure
after_script
DEPLOY
before_deploy
deploy
after_deploy
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
language: node_js
node_js:
- stable
before_script:
- npm install -g jscs
script:
- jscs src
- mocha
#ConfHandle
@geekgonenomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
MySQL
PosgreSQL
SQLite3
MongoDB
CouchDB
Redis
#NDCOslo
@GeekGoneNomad
services:
- couchdb
before_script:
- curl -X PUT http://127.0.0.1:5984/travis-node-demo
- curl -X GET http://127.0.0.1:5984/_all_dbs
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
$ sudo service couchdb start
couchdb start/running, process 2303
$ curl -X PUT http://127.0.0.1:5984/travis-node-demo
{"ok":true}
$ curl -X GET http://127.0.0.1:5984/_all_dbs
["_replicator","_users","travis-node-demo"]
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
Heroku
NPM
PyPi
Amazon S3
RubyGems
Github
#NDCOslo
@GeekGoneNomad
before_deploy:
- npm version patch
deploy:
provider: npm
email: ktyacke@gmail.com
api_key:
secure: XXXXXXXXXXXXX
on:
tags: true
repo: ktyacke/travis-node-example
all_branches: true
#NDCOslo
@GeekGoneNomad
# ENCRYPT AND ADD KEY TO CONFIG
travis encrypt YOUR_API_KEY --add deploy.api_key
# USE CLI TO ADD DEPLOYMENT PROVIDER
travis setup npm
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
Installing deploy dependencies
Preparing deploy
NPM version: 3.8.3
Authenticated with email ktyacke@gmail.com
Cleaning up git repository with `git stash --all`. If you need build artifacts for deployment, set `deploy.skip_cleanup: true`.
See https://docs.travis-ci.com/user/deployment/#Uploading-Files.
Deploying application
NPM API key format changed recently. If your deployment fails, check your API key in ~/.npmrc.
http://docs.travis-ci.com/user/deployment/npm/
~/.npmrc size: 48
+ travis-node-example@1.0.4
#NDCOslo
@GeekGoneNomad
IRC
HipChat
Slack
Webhooks
#NDCOslo
@GeekGoneNomad
notifications:
email:
recipients:
- foo@bar.com
on_success: always
on_failure: always
slack:
rooms:
- secure: XXXXXXXXXXXXX
on_success: always
on_failure: always
on_start: always
#NDCOslo
@GeekGoneNomad
# ENCRYPT AND ADD TOKEN TO CONFIG
travis encrypt "<account>:<token>" --add notifications.slack.rooms
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
#NDCOslo
@GeekGoneNomad
By Kyle Tyacke