change to a circleci workflow with deployment
parent
1e0704ba3a
commit
ecfbfb962b
|
@ -1,95 +1,61 @@
|
||||||
# This configuration was automatically generated from a CircleCI 1.0 config.
|
|
||||||
# It should include any build commands you had along with commands that CircleCI
|
|
||||||
# inferred from your project structure. We strongly recommend you read all the
|
|
||||||
# comments in this file to understand the structure of CircleCI 2.0, as the idiom
|
|
||||||
# for configuration has changed substantially in 2.0 to allow arbitrary jobs rather
|
|
||||||
# than the prescribed lifecycle of 1.0. In general, we recommend using this generated
|
|
||||||
# configuration as a reference rather than using it in production, though in most
|
|
||||||
# cases it should duplicate the execution of your original 1.0 config.
|
|
||||||
version: 2
|
version: 2
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
working_directory: ~/parabuzzle/craneoperator
|
working_directory: ~/parabuzzle/craneoperator
|
||||||
parallelism: 1
|
|
||||||
# CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
|
|
||||||
# If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
|
|
||||||
environment:
|
|
||||||
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
|
||||||
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
|
|
||||||
# In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages.
|
|
||||||
# In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images.
|
|
||||||
# The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job.
|
|
||||||
# We have selected a pre-built image that mirrors the build environment we use on
|
|
||||||
# the 1.0 platform, but we recommend you choose an image more tailored to the needs
|
|
||||||
# of each job. For more information on choosing an image (or alternatively using a
|
|
||||||
# VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
|
|
||||||
# To see the list of pre-built images that CircleCI provides for most common languages see
|
|
||||||
# https://circleci.com/docs/2.0/circleci-images/
|
|
||||||
machine: true
|
machine: true
|
||||||
steps:
|
steps:
|
||||||
# Machine Setup
|
|
||||||
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
|
|
||||||
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
|
|
||||||
- checkout
|
- checkout
|
||||||
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
|
||||||
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
|
|
||||||
# In many cases you can simplify this from what is generated here.
|
|
||||||
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
|
|
||||||
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
|
|
||||||
# This is based on your 1.0 configuration file or project settings
|
|
||||||
- run:
|
- run:
|
||||||
working_directory: ~/parabuzzle/craneoperator
|
working_directory: ~/parabuzzle/craneoperator
|
||||||
command: 'sudo docker info >/dev/null 2>&1 || sudo service docker start; '
|
command: 'sudo docker info >/dev/null 2>&1 || sudo service docker start; '
|
||||||
# Dependencies
|
|
||||||
# This would typically go in either a build or a build-and-test job when using workflows
|
|
||||||
# Restore the dependency cache
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
# This branch if available
|
- dep-cache-{{ .Branch }}-
|
||||||
- v1-dep-{{ .Branch }}-
|
# Setup environment
|
||||||
# Default branch if not
|
|
||||||
- v1-dep-master-
|
|
||||||
# Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
|
|
||||||
- v1-dep-
|
|
||||||
# This is based on your 1.0 configuration file or project settings
|
|
||||||
- run: docker info
|
- run: docker info
|
||||||
- run: gem install httparty
|
- run: gem install httparty
|
||||||
- run: gem install memoist
|
- run: gem install memoist
|
||||||
- run: npm install
|
- run: npm install
|
||||||
|
|
||||||
|
# Build bundle
|
||||||
- run: npm install webpack
|
- run: npm install webpack
|
||||||
|
|
||||||
|
# Build docker image
|
||||||
- run: rake build
|
- run: rake build
|
||||||
|
|
||||||
# Save dependency cache
|
# Save dependency cache
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: v1-dep-{{ .Branch }}-{{ epoch }}
|
key: dep-cache-{{ .Branch }}
|
||||||
paths:
|
paths:
|
||||||
# This is a broad list of cache paths to include many possible development environments
|
# This is a broad list of cache paths to include many possible development environments
|
||||||
# You can probably delete some of these entries
|
# You can probably delete some of these entries
|
||||||
- vendor/bundle
|
- vendor/bundle
|
||||||
- ~/virtualenvs
|
|
||||||
- ~/.m2
|
|
||||||
- ~/.ivy2
|
|
||||||
- ~/.bundle
|
- ~/.bundle
|
||||||
- ~/.go_workspace
|
|
||||||
- ~/.gradle
|
|
||||||
- ~/.cache/bower
|
|
||||||
- ./node_modules
|
- ./node_modules
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
# This would typically be a build job when using workflows, possibly combined with build
|
# This would typically be a build job when using workflows, possibly combined with build
|
||||||
# This is based on your 1.0 configuration file or project settings
|
# This is based on your 1.0 configuration file or project settings
|
||||||
- run: docker run -d -p 80:80 parabuzzle/craneoperator:latest; sleep 10
|
- run: docker run -d -p 80:80 parabuzzle/craneoperator:latest; sleep 10
|
||||||
- run: curl --retry 10 --retry-delay 5 -v http://localhost/
|
- run: curl --retry 10 --retry-delay 5 -v http://localhost/
|
||||||
# Deployment
|
|
||||||
# Your existing circle.yml file contains deployment steps.
|
deploy:
|
||||||
# The config translation tool does not support translating deployment steps
|
machine:
|
||||||
# since deployment in CircleCI 2.0 are better handled through workflows.
|
enabled: true
|
||||||
# See the documentation for more information https://circleci.com/docs/2.0/workflows/
|
working_directory: ~/parabuzzle/craneoperator
|
||||||
# Teardown
|
steps:
|
||||||
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
|
- checkout
|
||||||
# Save test results
|
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||||
- store_test_results:
|
- run: rake push
|
||||||
path: /tmp/circleci-test-results
|
|
||||||
# Save artifacts
|
workflows:
|
||||||
- store_artifacts:
|
version: 2
|
||||||
path: /tmp/circleci-artifacts
|
build-and-deploy:
|
||||||
- store_artifacts:
|
jobs:
|
||||||
path: /tmp/circleci-test-results
|
- build
|
||||||
|
- deploy:
|
||||||
|
requires:
|
||||||
|
- build
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: master
|
Loading…
Reference in New Issue