From b91bf74ebb5f64df1e8e91ebe2566c9e526ddba6 Mon Sep 17 00:00:00 2001 From: Greg Arndt Date: Mon, 20 Mar 2017 17:06:48 -0500 Subject: [PATCH] Bundle docker-worker package using tar --- .gitignore | 2 ++ deploy/bin/build | 4 ++-- deploy/packer/app.json | 20 ++------------------ deploy/packer/app/scripts/deploy.sh | 17 ++--------------- package.json | 4 ++-- test/dockerworker.js | 3 --- yarn.lock | 4 ++++ 7 files changed, 14 insertions(+), 40 deletions(-) diff --git a/.gitignore b/.gitignore index 3fde5f35..e1a8b138 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,7 @@ docker-worker.conf.json *.box docker-worker-*.pub +docker-worker.tgz build .test +yarn-error.log diff --git a/deploy/bin/build b/deploy/bin/build index 45afdabd..dd5653a6 100755 --- a/deploy/bin/build +++ b/deploy/bin/build @@ -31,7 +31,7 @@ packer_config() { cmd_app() { # Package up the node app. - local npm_package=$(yarn pack) + tar --exclude='./node_modules' --exclude='./*.pub' --exclude='./build/' --exclude='./deploy' --exclude='.test' --exclude='.git' --exclude='.vagrant' --exclude='./.DS_Store' --exclude='./vagrant/' --exclude='app.box' -zcvf docker-worker.tgz . local git_rev=$(git rev-parse --verify HEAD) # Configure the deployment if needed... @@ -42,7 +42,7 @@ cmd_app() { $@ \ -var-file $(template_vars app) \ -var "templateContents=deploy/deploy.tar.gz" \ - -var "npmPackage=$npm_package" \ + -var "npmPackage=docker-worker.tgz" \ -var "workerRevision=$git_rev" \ $(packer_config app) } diff --git a/deploy/packer/app.json b/deploy/packer/app.json index 25cb8c2d..25417f50 100644 --- a/deploy/packer/app.json +++ b/deploy/packer/app.json @@ -4,8 +4,8 @@ "variables": { "npmPackage": "", "templateContents": "", - "hvmSourceAMI": "ami-33c77853", - "pvSourceAMI": "ami-52c67932", + "hvmSourceAMI": "ami-4879f728", + "pvSourceAMI": "ami-4977f929", "fsType": "", "workerRevision": "" }, @@ -62,22 +62,6 @@ "Revision": "{{user `workerRevision`}}", "Base_AMI": "{{user `hvmSourceAMI`}}" } - }, - { - "type": "amazon-ebs", - "name": "pv-builder", - "region": "us-west-2", - "ami_regions": ["us-west-1", "us-east-1"], - "source_ami": "{{user `pvSourceAMI`}}", - "instance_type": "m1.medium", - "ssh_username": "ubuntu", - "ami_name": "taskcluster-docker-worker-{{user `fsType`}}-PV-{{timestamp}}", - "tags": { - "OS_Version": "Ubuntu", - "Release": "Latest", - "Revision": "{{user `workerRevision`}}", - "Base_AMI": "{{user `pvSourceAMI`}}" - } } ] } diff --git a/deploy/packer/app/scripts/deploy.sh b/deploy/packer/app/scripts/deploy.sh index 748d123f..1d8e64a7 100644 --- a/deploy/packer/app/scripts/deploy.sh +++ b/deploy/packer/app/scripts/deploy.sh @@ -29,21 +29,8 @@ sudo chown -R $USER:$USER /home/ubuntu/docker_worker sudo npm install -g babel-cli yarn -retry_count=0 -max_retries=5 -until [ $retry_count -gt $max_retries ]; do - yarn install --frozen-lockfile && break - retry_count=$(($retry_count + 1)) - sleep 5 -done - -if [ $retry_count -ge $max_retries ]; then - echo "" - echo "Error installing docker-worker packages" - exit -1 -fi - -npm rebuild +yarn install --frozen-lockfile +yarn build # Initialize video and sound loopback modules sudo modprobe v4l2loopback diff --git a/package.json b/package.json index 711a202a..c864327c 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "fs-ext": "^0.5.0", "got": "^6.5.0", "iptables": "^0.0.4", + "json-templater": "^1.1.0", "koa": "^0.19.1", "koa-json": "^1.1.1", "koa-router": "^4.3.2", @@ -71,11 +72,10 @@ "tar-fs": "^1.7.0", "tar-stream": "^1.2.1", "taskcluster-azure-blobstream": "^0.3.0", - "taskcluster-lib-scopes": "^1.0.0", - "taskcluster-task-factory": "^0.6.1", "taskcluster-base": "^6.2.0", "taskcluster-client": "^1.6.1", "taskcluster-lib-monitor": "^4.3.1", + "taskcluster-lib-scopes": "^1.0.0", "taskcluster-task-factory": "^0.6.4", "temporary": "^0.0.8", "uuid": "^2.0.0", diff --git a/test/dockerworker.js b/test/dockerworker.js index b91df1e0..5a320265 100644 --- a/test/dockerworker.js +++ b/test/dockerworker.js @@ -56,9 +56,6 @@ export default class DockerWorker { stream.pipe(devnull()); await waitForEvent(stream, 'end'); - // Path to babel in the docker container... - var babel = '/worker/node_modules/.bin/babel-node'; - var createConfig = { name: this.workerId, Image: IMAGE, diff --git a/yarn.lock b/yarn.lock index 1a8f77be..d16d8f38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2439,6 +2439,10 @@ json-stringify-safe@5, json-stringify-safe@5.0.1, json-stringify-safe@^5.0.1, js version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +json-templater@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/json-templater/-/json-templater-1.1.0.tgz#355bb4bc990bd53cc157f761fae03f3f23dd14aa" + json3@3.3.2, json3@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"