diff --git a/.travis.yml b/.travis.yml index e520c1bf81..3188d8065e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,8 @@ node_js: - "node" - "8" - "6" +services: + - docker script: npm run ci notifications: slack: @@ -13,3 +15,10 @@ notifications: rooms: - secure: WDSJTf0kyen9YY7PH4PPc6LftE5w+YH825dX0qUF/3C+U4/qKW9D7U2z+bsbqi0Ir3cGObN6iK73O18E7N4L3vV1eyCj3ds7eyU9/YBroegz8+4KXw89n4lUVGo4jjIp9tzPgqmRdk5S0Flr/wc1HM9+VlnHFN5gE0P7Vui8bbc= - secure: IlvaufTODSJPN3aIeQV4k/9c0YVRReCK4GAkBUj6Q9rMEJ9XQaSC3x5O0i1CM2cODWqfQsqVkII92LJy/Q8bbvIVW6ZYLy5aYi+EIiHAZMZkPb+kyIS97uDeYGL4Oo9OteGftNCIQTIpqu5WwWDx9cu9IoX9Qb19lO6chkCBo2I= +deploy: + provider: script + script: make docker-build && make docker-push + skip_cleanup: true + on: + tags: true + node: "8" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..8d6a826f64 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM node:8 + +RUN mkdir /twilio +WORKDIR /twilio + +ENV NODE_PATH /usr/local/lib/node_modules + +COPY lib ./lib +COPY index.js . +COPY package* ./ + +RUN npm install . -g diff --git a/Makefile b/Makefile index e6e2b4c603..1dbe308794 100644 --- a/Makefile +++ b/Makefile @@ -15,3 +15,14 @@ docs: clean: node_modules rm -rf node_modules + +API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cut -d ' ' -f 5) +docker-build: + docker build -t twilio/twilio-node . + docker tag twilio/twilio-node twilio/twilio-node:${TRAVIS_TAG} + docker tag twilio/twilio-node twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} + +docker-push: + echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin + docker push twilio/twilio-node:${TRAVIS_TAG} + docker push twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} diff --git a/README.md b/README.md index 790bbdbbbb..e74b14b4c3 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,10 @@ For detailed usage information and API docs, head out here: [https://www.twilio.com/docs/libraries/node](https://www.twilio.com/docs/libraries/node) +## Docker Image + +The `Dockerfile` present in this repository and its respective `twilio/twilio-node` Docker image are currently used by Twilio for testing purposes only. + ## Getting help If you need help installing or using the library, please contact Twilio Support at help@twilio.com first. Twilio's Support staff are well-versed in all of the Twilio Helper Libraries, and usually reply within 24 hours.