diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..78655f8 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: bash +sudo: required +services: + - docker +before_script: + - cd .. +script: + - chmod ugo+x cf-webui/ci/*.sh + - docker run -it -v $(pwd):/root/sources -w /root/sources node:6 cf-webui/ci/build.sh diff --git a/ci/build.sh b/ci/build.sh new file mode 100755 index 0000000..3bfc487 --- /dev/null +++ b/ci/build.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -e +OUTPUT="$PWD/cf-webui-app" + +echo "DEBUG - OUTPUT: <$OUTPUT>" +mkdir -p $OUTPUT/build + + +pushd cf-webui + npm install + npm install grunt-cli + export PATH=$PWD/node_modules/grunt-cli/bin:$PATH + grunt build + cp -R build/* $OUTPUT/build + cp manifest.yml $OUTPUT/ +popd + + diff --git a/ci/build.yml b/ci/build.yml new file mode 100644 index 0000000..b1fe7cc --- /dev/null +++ b/ci/build.yml @@ -0,0 +1,16 @@ +--- +platform: linux +image_resource: + type: docker-image + source: + repository: node + tag: '6' + +inputs: +- name: cf-webui + +outputs: +- name: cf-webui-app + +run: + path: cf-webui/ci/build.sh diff --git a/ci/pipeline/README.md b/ci/pipeline/README.md new file mode 100644 index 0000000..8f9f9ee --- /dev/null +++ b/ci/pipeline/README.md @@ -0,0 +1,20 @@ +# CF-WebUi Concourse pipeline +This directory contains a very simple integration pipeline for [Concourse CI](https://concourse.ci/). +It is a one job pipeline (compilation and deployment to CF). + +## Pre-requisite + - a running concourse instance ([installing concourse ](https://concourse.ci/installing.html)) + - a concourse CLI ([The Fly CLI](https://concourse.ci/fly-cli.html)) + +## Install cf-web-ui pipeline + 1. update credentials-cf-webui-template.yml (at least with your CF info) + 1. push the pipeline from project root directory: + ``` + fly -t set-pipeline --config ci/pipeline/pipeline.yml --pipeline cf-webui -l ci/pipeline/credentials-cf-webui-template.yml + ``` + 1. enable the pipeline + ``` + fly -t unpause-pipeline --pipeline cf-webui + + ``` + diff --git a/ci/pipeline/credentials-cf-webui-template.yml b/ci/pipeline/credentials-cf-webui-template.yml new file mode 100644 index 0000000..17cd107 --- /dev/null +++ b/ci/pipeline/credentials-cf-webui-template.yml @@ -0,0 +1,12 @@ +--- +cf-webui-git-url: https://github.com/icclab/cf-webui +cf-webui-git-branch: master + + +cf-api-endpoint: https://api.run.pivotal.io +cf-username: +cf-userpassword: +cf-org: +cf-space: +cf-skip-cert-check: false +ngnix-resolver: 8.8.8.8 diff --git a/ci/pipeline/pipeline.yml b/ci/pipeline/pipeline.yml new file mode 100644 index 0000000..70b589d --- /dev/null +++ b/ci/pipeline/pipeline.yml @@ -0,0 +1,33 @@ +--- +resources: +- name: cf-webui + type: git + source: + uri: {{cf-webui-git-url}} + branch: {{cf-webui-git-branch}} + +- name: resource-deploy-cf-webui + type: cf +#https://github.com/concourse/cf-resource + source: + api: {{cf-api-endpoint}} + username: {{cf-username}} + password: {{cf-userpassword}} + organization: {{cf-org}} + space: {{cf-space}} + skip_cert_check: true + +jobs: +- name: job-cf-webui + plan: + - get: cf-webui + trigger: true + attempts: 3 + - task: build + file: cf-webui/ci/build.yml + - put: resource-deploy-cf-webui + params: + manifest: cf-webui-app/manifest.yml + environment_variables: + API_ENDPOINT: {{cf-api-endpoint}} + NGINX_RESOLVER: {{ngnix-resolver}} \ No newline at end of file