From 14de5db1e96dc140ade6ac872094bc2b36e58ef6 Mon Sep 17 00:00:00 2001 From: Jonatas Baldin Date: Tue, 19 Jun 2018 17:26:25 +0200 Subject: [PATCH 1/5] Add Dockerfile and related changes to build the Docker image --- .travis.yml | 5 +++++ Dockerfile | 12 ++++++++++++ Makefile | 11 +++++++++++ 3 files changed, 28 insertions(+) create mode 100644 Dockerfile diff --git a/.travis.yml b/.travis.yml index e520c1bf81..8d42aa540c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,3 +13,8 @@ notifications: rooms: - secure: WDSJTf0kyen9YY7PH4PPc6LftE5w+YH825dX0qUF/3C+U4/qKW9D7U2z+bsbqi0Ir3cGObN6iK73O18E7N4L3vV1eyCj3ds7eyU9/YBroegz8+4KXw89n4lUVGo4jjIp9tzPgqmRdk5S0Flr/wc1HM9+VlnHFN5gE0P7Vui8bbc= - secure: IlvaufTODSJPN3aIeQV4k/9c0YVRReCK4GAkBUj6Q9rMEJ9XQaSC3x5O0i1CM2cODWqfQsqVkII92LJy/Q8bbvIVW6ZYLy5aYi+EIiHAZMZkPb+kyIS97uDeYGL4Oo9OteGftNCIQTIpqu5WwWDx9cu9IoX9Qb19lO6chkCBo2I= +deploy: + script: + - make docker-build + - make docker-push + on: tags 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..a4438d7cff 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:${API_DEFINITIONS_SHA} + +docker-push: + docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} + docker push twilio/twilio-node:${TRAVIS_TAG} + docker push twilio/twilio-node:${API_DEFINITIONS_TAG} From 2be324e9da205b54c5113bbd509808dadf5620c1 Mon Sep 17 00:00:00 2001 From: Jonatas Baldin Date: Thu, 21 Jun 2018 20:19:30 +0200 Subject: [PATCH 2/5] Add README section about Dockerfile and correct api definitions tag --- Makefile | 4 ++-- README.md | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a4438d7cff..534e100f55 100644 --- a/Makefile +++ b/Makefile @@ -20,9 +20,9 @@ API_DEFINITIONS_SHA=$(shell git log --oneline | grep Regenerated | head -n1 | cu 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:${API_DEFINITIONS_SHA} + docker tag twilio/twilio-node twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} docker-push: docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} docker push twilio/twilio-node:${TRAVIS_TAG} - docker push twilio/twilio-node:${API_DEFINITIONS_TAG} + docker push twilio/twilio-node:apidefs-${API_DEFINITIONS_TAG} 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. From f3b9f81e527a9bdcfe184f2e067a3c00757f39ea Mon Sep 17 00:00:00 2001 From: Jonatas Baldin Date: Sat, 30 Jun 2018 15:40:22 +0200 Subject: [PATCH 3/5] Fix TravisCI configuration, fix docker-push TAG and add more secure way to log into DockerHub --- .travis.yml | 10 ++++++---- Makefile | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d42aa540c..f37b2ac26e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,9 @@ notifications: - secure: WDSJTf0kyen9YY7PH4PPc6LftE5w+YH825dX0qUF/3C+U4/qKW9D7U2z+bsbqi0Ir3cGObN6iK73O18E7N4L3vV1eyCj3ds7eyU9/YBroegz8+4KXw89n4lUVGo4jjIp9tzPgqmRdk5S0Flr/wc1HM9+VlnHFN5gE0P7Vui8bbc= - secure: IlvaufTODSJPN3aIeQV4k/9c0YVRReCK4GAkBUj6Q9rMEJ9XQaSC3x5O0i1CM2cODWqfQsqVkII92LJy/Q8bbvIVW6ZYLy5aYi+EIiHAZMZkPb+kyIS97uDeYGL4Oo9OteGftNCIQTIpqu5WwWDx9cu9IoX9Qb19lO6chkCBo2I= deploy: - script: - - make docker-build - - make docker-push - on: tags + provider: script + script: make docker-build && make docker-push + skip_cleanup: true + on: + tags: true + node: "8" diff --git a/Makefile b/Makefile index 534e100f55..d2654d3795 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,6 @@ docker-build: docker tag twilio/twilio-node twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} docker-push: - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} + 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_TAG} + docker push twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} From 5a53fa521fc2590f269afc4dd28b1216fe040eb8 Mon Sep 17 00:00:00 2001 From: Jonatas Baldin Date: Sat, 30 Jun 2018 16:09:22 +0200 Subject: [PATCH 4/5] Add Docker service in TravisCI --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index f37b2ac26e..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: From b32aedce5e009a5b4c5293ccc3bf9e353bca7d49 Mon Sep 17 00:00:00 2001 From: Jonatas Baldin Date: Thu, 5 Jul 2018 20:07:00 +0200 Subject: [PATCH 5/5] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d2654d3795..1dbe308794 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,6 @@ docker-build: docker tag twilio/twilio-node twilio/twilio-node:apidefs-${API_DEFINITIONS_SHA} docker-push: - echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin + 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}