From 29d4a8f4cb57267cc5b0f986400c48ec755ca4aa Mon Sep 17 00:00:00 2001 From: William Chen Date: Fri, 11 Aug 2017 15:30:49 +0800 Subject: [PATCH 1/2] modify test-data for the change of parser download location --- .applatix/axscm_checkout.yaml | 4 ++-- .applatix/benchmark-controller.yaml | 6 ++++-- .applatix/docker-image-build-container.yaml | 1 - .applatix/node-test.yaml | 17 ++++------------- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.applatix/axscm_checkout.yaml b/.applatix/axscm_checkout.yaml index 7219e4b..9f5b7f8 100644 --- a/.applatix/axscm_checkout.yaml +++ b/.applatix/axscm_checkout.yaml @@ -1,7 +1,7 @@ --- type: container -name: axscm-checkout +name: benchmark-controller-checkout description: Checks out a source repository to /src container: resources: @@ -20,4 +20,4 @@ inputs: outputs: artifacts: code: - path: "/app" \ No newline at end of file + path: /app diff --git a/.applatix/benchmark-controller.yaml b/.applatix/benchmark-controller.yaml index 274b1d4..86b0671 100644 --- a/.applatix/benchmark-controller.yaml +++ b/.applatix/benchmark-controller.yaml @@ -9,12 +9,14 @@ inputs: repo: default: "%%session.repo%%" docker_username: + default: "hyperpilotuser" docker_password: + default: "hyper123" version: default: "test" steps: - checkout: - template: axscm-checkout + template: benchmark-controller-checkout - test: template: node-test parameters: @@ -22,4 +24,4 @@ steps: - build: template: docker-image-build-container parameters: - code: "%%steps.checkout.code%%" \ No newline at end of file + code: "%%steps.checkout.code%%" diff --git a/.applatix/docker-image-build-container.yaml b/.applatix/docker-image-build-container.yaml index f014349..03ab365 100644 --- a/.applatix/docker-image-build-container.yaml +++ b/.applatix/docker-image-build-container.yaml @@ -19,4 +19,3 @@ container: docker push hyperpilot/benchmark-controller:%%version%%" labels: "ax_ea_docker_enable": '{ "graph-storage-name": "benchmark-controller", "graph-storage-size": "10Gi", "cpu_cores":"0.5", "mem_mib":"800"}' - diff --git a/.applatix/node-test.yaml b/.applatix/node-test.yaml index 7d364e4..3e06ec1 100644 --- a/.applatix/node-test.yaml +++ b/.applatix/node-test.yaml @@ -3,22 +3,13 @@ type: container name: node-test description: This is the template for building Node component. container: - resources: - mem_mib: 1024 - cpu_cores: 0.3 - image: "node:7.10.0-alpine" - docker_options: "--privileged" - command: "sh -c 'cd /app/app && npm install && npm run test'" + image: node:latest + command: sh -c 'cd /app/app && npm install && npm test' inputs: artifacts: - from: "%%code%%" - path: "/app" + path: /app parameters: - commit: - default: "%%session.commit%%" code: -outputs: - artifacts: - code: - path: "/app" labels: + "ax_ea_docker_enable": '{ "graph-storage-name": "benchmark-controller", "graph-storage-size": "10Gi", "cpu_cores":"0.5", "mem_mib":"800"}' From 2a87f4f355cfb9e69ff8ef3a824751058f61039c Mon Sep 17 00:00:00 2001 From: William Chen Date: Mon, 14 Aug 2017 10:13:47 +0800 Subject: [PATCH 2/2] 1. add auto build policy 2. add docker image to test node app --- .applatix/Dockerfile | 68 +++++++++++++++++++++ .applatix/Makefile | 9 +++ .applatix/benchmark-controller-policy.yaml | 21 +++++++ .applatix/docker-image-build-container.yaml | 2 +- .applatix/node-test.yaml | 2 +- 5 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 .applatix/Dockerfile create mode 100644 .applatix/Makefile create mode 100644 .applatix/benchmark-controller-policy.yaml diff --git a/.applatix/Dockerfile b/.applatix/Dockerfile new file mode 100644 index 0000000..bb95b86 --- /dev/null +++ b/.applatix/Dockerfile @@ -0,0 +1,68 @@ +FROM docker:1.12 +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 8.3.0 + +RUN addgroup -g 1000 node \ + && adduser -u 1000 -G node -s /bin/sh -D node \ + && apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + # gpg keys listed at https://github.com/nodejs/node#release-team + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + 56730D5401028683275BD23C23EFEFE93C4CFFFE \ + ; do \ + gpg --keyserver pgp.mit.edu --recv-keys "$key" || \ + gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \ + done \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \ + && curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.xz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt + +ENV YARN_VERSION 0.27.5 + +RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \ + && for key in \ + 6A010C5166006599AA17F08146C2130DFD2497F5 \ + ; do \ + gpg --keyserver pgp.mit.edu --recv-keys "$key" || \ + gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \ + done \ + && curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \ + && curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \ + && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ + && mkdir -p /opt/yarn \ + && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \ + && ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \ + && ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \ + && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \ + && apk del .build-deps-yarn + +CMD [ "node" ] diff --git a/.applatix/Makefile b/.applatix/Makefile new file mode 100644 index 0000000..e96c3c6 --- /dev/null +++ b/.applatix/Makefile @@ -0,0 +1,9 @@ +default: build-docker + +version=8.3.0 + +build-docker: + docker build -t hyperpilot/node-with-docker:$(version) . + +docker-push: build-docker + docker push hyperpilot/node-with-docker:$(version) diff --git a/.applatix/benchmark-controller-policy.yaml b/.applatix/benchmark-controller-policy.yaml new file mode 100644 index 0000000..8e20e0f --- /dev/null +++ b/.applatix/benchmark-controller-policy.yaml @@ -0,0 +1,21 @@ +--- +type: policy +name: Benchmark-Controller build policy +description: Trigger workflow on master branch changes +template: benchmark-controller-workflow +notifications: + - + when: + - on_success + - on_failure + whom: + - committer + - author +when: + - + event: on_push + target_branches: + - "master" +labels: + milestone: build + version: 1.0.0 diff --git a/.applatix/docker-image-build-container.yaml b/.applatix/docker-image-build-container.yaml index 03ab365..85cfe11 100644 --- a/.applatix/docker-image-build-container.yaml +++ b/.applatix/docker-image-build-container.yaml @@ -12,7 +12,7 @@ inputs: - from: "%%code%%" path: "/app" container: - image: docker:1.12 + image: hyperpilot/node-with-docker:8.3.0 command: "cd /app && docker login -u %%docker_username%% -p %%docker_password%% && docker build -f Dockerfile -t hyperpilot/benchmark-controller:%%version%% . && diff --git a/.applatix/node-test.yaml b/.applatix/node-test.yaml index 3e06ec1..3cc42d3 100644 --- a/.applatix/node-test.yaml +++ b/.applatix/node-test.yaml @@ -3,7 +3,7 @@ type: container name: node-test description: This is the template for building Node component. container: - image: node:latest + image: hyperpilot/node-with-docker:8.3.0 command: sh -c 'cd /app/app && npm install && npm test' inputs: artifacts: