Use CircleCI version 2.1 at the top of your .circleci/config.yml file.
1
version: 2.1
Add the orbs
stanza below your version, invoking the orb:
1
2
orbs:
appgen: realmethods/appgen@2.0.0
Use appgen
elements in your existing workflows and jobs.
Opt-in to use of uncertified orbs on your organization’s Security settings page.
Command to initialize realMethods orb by providing your API token. This token is obtained from your online account under User Preferences access on http://platform.realmethods.com. The source for this Orb is available at https://github.com/realmethods-public/orb.
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
api-token | A user's realMethods API token | Yes | - | env_var_name |
Command to generate an DevOps project by providing a generation Project-as-Code YAML file
PARAMETER | DESCRIPTION | REQUIRED | DEFAULT | TYPE |
---|---|---|---|---|
generation-yaml-file | Project-as-Code YAML file containing the project/application generation directives | No | ${GENERATION_YAML_FILE} | string |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# This code is licensed from CircleCI to the user under the MIT license.
# See here for details: https://circleci.com/developer/orbs/licensing
# This code is licensed from CircleCI to the user under the MIT license. See
# https://circleci.com/orbs/registry/licensing for details.
version: 2.1
description: |
A CircleCI Orb to invoke the realMethods DevOps Project Generation platform
to generate fully functioning and deployable projects from a single "as-code" YAML file.
The result is an MVP quality applications based on a single business model and
one of the many supported technology stacks.
Model format support includes:
UML, XMI, Eclipse Model Framework, and SQL Scripts.
Supported technology stacks include:
Apollo, Angular7, Django, Spring Boot, AWS Lambda,
Google Functions, ASP.NET, Spark Microweb and Struts2.
More details and example files can be found at
https://github.com/realmethods-public/orb
commands:
initialize:
description: |
Command to initialize realMethods orb by providing your
API token. This token is obtained from your online account
under User Preferences access on http://platform.realmethods.com. The source for this Orb is available
at https://github.com/realmethods-public/orb.
parameters:
api-token:
description: "A user's realMethods API token"
type: env_var_name
steps:
#######################################################################
## checkout the relevant files to a directory referenced by
## ${CIRCLE_PROJECT_REPONAME}
#######################################################################
- checkout:
path: "~/${CIRCLE_PROJECT_REPONAME}"
- run:
name: print env var
command: printenv
- run:
name: update npm
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO npm install -g npm@latest'
- run:
name: install npm-run
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO npm install -g npm-run@latest'
- run:
name: install realmethods CLI
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO npm install -g realmethods_cli'
- run:
name: initialize user for realmethods CLI
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO npm-run realmethods_cli init << parameters.api-token >>'
- run:
name: update the apt-get package index
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO apt-get update'
- run:
name: install dos2unix to convert uploaded files
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO apt-get install -y dos2unix'
generate_devops_project:
description: |
Command to generate an DevOps project by providing a generation Project-as-Code YAML file
parameters:
generation-yaml-file:
description: "Project-as-Code YAML file containing the project/application generation directives"
type: string
default: "${GENERATION_YAML_FILE}"
steps:
#######################################################################
## call the realmethods CLI to generate the application
#######################################################################
- run:
name: Generating application
command: '[ $EUID == 0 ] && SUDO="" || SUDO=sudo && $SUDO realmethods_cli app_generate ~/${CIRCLE_PROJECT_REPONAME}/<< parameters.generation-yaml-file >>'