Created
August 29, 2017 22:28
-
-
Save mightyhorst/d8ddfe5e438007feb020a7b12bdb847d to your computer and use it in GitHub Desktop.
YAML schemas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
triggers: | |
api: | |
base_url: http://api.kitset.io/v1/project/{{id}}/ | |
# url: | |
# /scaffold? | |
# app=frontend/gateway/backend | |
# &platform=python/nodejs/ios/angular/reactjs | |
# &step=all/docker/model/view | |
# /ci/{env_name=test}/build | |
# /ci/{env_name=staging}/build | |
# /ci/{env_name=production}/build | |
# /ci/{branch=special} | |
kitset_lifecycle: | |
all: | |
save: | |
$ref: '#/scaffolders' | |
build: | |
$ref: '#/scaffolders' | |
test: | |
$ref: '#/testing_env' | |
deploy: | |
$ref: '#/production_env' | |
frontend: | |
save: #/scaffolders | |
build: #/scaffolders | |
test: #/testing_env | |
deploy: #/production_env | |
gateway: | |
save: #/scaffolders | |
build: #/scaffolders | |
test: #/testing_env | |
deploy: #/production_env | |
backend: | |
save: #/scaffolders | |
build: #/scaffolders | |
test: #/testing_env | |
deploy: #/production_env | |
gitlab_branches: | |
test: testing_env | |
master: staging_env | |
production: production_env | |
scaffolders: #build_env: | |
default_platforms: | |
backend: nodejs | |
frontend: nodejs | |
gateway: python | |
default: | |
- #/continuous_build/steps/models | |
- controllers | |
- database | |
steps_backend: | |
always: | |
docker: node scaffolders/backend/docker-compose.js | |
python: | |
app: node scaffolders/backend/python/app.js | |
models: node scaffolders/backend/python/models.js | |
seeds: node scaffolders/backend/python/seeds.js | |
migrations: node scaffolders/backend/python/migrations.js | |
controllers: node scaffolders/backend/python/controllers.js | |
routes: node scaffolders/backend/python/routes.js | |
nodejs: | |
app: node scaffolders/backend/nodejs/app.js | |
models: node scaffolders/backend/nodejs/models.js | |
seeds: node scaffolders/backend/nodejs/seeds.js | |
migrations: node scaffolders/backend/nodejs/migrations.js | |
controllers: node scaffolders/backend/nodejs/controllers.js | |
routes: node scaffolders/backend/nodejs/routes.js | |
laravel: | |
app: node scaffolders/backend/laravel/app.js | |
models: node scaffolders/backend/laravel/models.js | |
seeds: node scaffolders/backend/laravel/seeds.js | |
migrations: node scaffolders/backend/laravel/migrations.js | |
controllers: node scaffolders/backend/laravel/controllers.js | |
routes: node scaffolders/backend/laravel/routes.js | |
steps_gateway: | |
models: node scaffolders/models.js | |
seeds: node scaffolders/seeds.js | |
migrations: node scaffolders/migrations.js | |
controllers: node scaffolders/controllers.js | |
routes: node scaffolders/routes.js | |
app: | |
data: | |
project: kitset.project | |
gateway: kitset.project.gateway | |
# middleware: node scaffolders/backend/python/app.js | |
template: templates/view.template | |
output: output/frontend/app.js | |
steps_frontend: | |
models: node scaffolders/models.js | |
seeds: node scaffolders/seeds.js | |
migrations: node scaffolders/migrations.js | |
controllers: node scaffolders/controllers.js | |
routes: node scaffolders/routes.js | |
git_env: | |
backend: gitlab.kitset.io/project/{id}/backend | |
frontend: gitlab.kitset.io/project/{id}/frontend | |
gateway: gitlab.kitset.io/project/{id}/gateway | |
default_env: | |
services: | |
- frontend_ios | |
- frontend_web | |
- gateway_api | |
- gateway_socket | |
- gateway_auth | |
- backend_ci | |
- paas_mysql | |
setup: | |
frontend_web: | |
image: superlogical/nodejs | |
depends_on: | |
- gateway | |
- socket | |
clone: | |
from: http://kitset.gitlab.io/user_name/project_name/frontend_web.git | |
to: /home/frontend/frontend_web | |
command: | |
- echo "frontend_web is up!" | |
environment: | |
GATEWAY_API_URL: http://gateway_api | |
GATEWAY_AUTH_URL: http://gateway_auth | |
expose: | |
- 80 | |
gateway_auth: | |
image: superlogical/gateway_auth | |
depends_on: | |
- paas_mysql | |
clone: | |
from: http://kitset.gitlab.io/user_name/project_name/gateway_auth.git | |
to: /home/gateway/gateway_auth | |
command: | |
- echo "gateway_auth is up!" | |
expose: | |
- 80 | |
gateway_socket: | |
image: superlogical/gateway_socket | |
depends_on: | |
- gateway_auth | |
clone: | |
from: http://kitset.gitlab.io/user_name/project_name/gateway_socket.git | |
to: /home/gateway/gateway_socket | |
command: | |
- npm install | |
- npm start | |
- echo "gateway_socket is up!" | |
expose: | |
- 3000 | |
gateway_api: | |
image: superlogical/gateway_api | |
depends_on: | |
- backend_ci | |
- gateway_auth | |
clone: | |
from: http://kitset.gitlab.io/user_name/project_name/gateway_api.git | |
to: /home/gateway/gateway_api | |
command: | |
- echo "gateway_api is up!" | |
expose: | |
- 80 | |
backend_ci: | |
image: superlogical/backend_ci | |
depends_on: | |
- paas_mysql | |
- gateway_socket | |
clone: | |
from: http://kitset.gitlab.io/user_name/project_name/backend_ci.git | |
to: /home/gateway/gateway_api | |
command: | |
- echo "backend_ci is up!" | |
expose: | |
- 80 | |
paas_mysql: | |
image: mysql | |
command: | |
- echo "create database kitset_ci;" > mysql -u root -psecret | |
- echo "paas_mysql is up!" | |
expose: | |
- 3306 | |
testing_env: | |
# -- inhriots from all services , but you can add additional ones | |
services: | |
- frontend_ios | |
- frontend_web | |
- gateway_api | |
- gateway_socket | |
- gateway_auth | |
- backend_ci | |
- paas_mysql | |
# -- additional setup to override the environment or entrypoint | |
# setup | |
steps: | |
# -- convention is to start with the least dependencies with unit tests and move to full integration tests | |
# -- e.g. start with your unit tests first, beginning with your platforms, bacjend, gateway then client | |
- step 1: | |
frontend_web: | |
- npm test | |
gateway_api: | |
- npm test | |
- step 2: | |
paas_mysql: | |
- npm test | |
staging_env: | |
step 1: | |
docker: superlogical/nodejs | |
bash: | |
- npm install | |
- npm test | |
step 2: | |
- git add -A && git commit -m "" && git push -u origin master | |
production_env: | |
config: | |
ip_addres: ldkfkjfd | |
dns: awesome.commit | |
webhook: http://awesome.commit/ci/pull | |
branch: production | |
port: | |
ssh: 22 | |
http: 80 | |
setup: | |
docker_compose: docker-compose up -d | |
# docker: superlogical/nodejs | |
bash: | |
- do stuff | |
step 1: | |
bash: | |
- git pull --all | |
- npm install | |
- npm migrate | |
- npm seed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment