Frequently Asked Questions (FAQ)
- Tech Stack Package
- Resource Management
- Project Generation
- Ci Platform
- Git Repo
- Common Issues
- How do I connect my CLI NodeJS installation to a realMethods Host Platform? In order to connect the CLI to a realMethods Host Platform instance, two things are required:
- The CLI says I need a user token. Where to do I get one?
- How do I access the realMethods platform running inside the Community Edition Docker image?
- What components are installed and used in the Community Edition Docker image
(1) User token and
(2) The URL to the host
Using your web browser to launch the realMethods Web App client, you must have created an account via Registration. Once registration is complete, you will be presented with a token. This token is a series of unique characters you should keep in a safe place. Use this token during initialization of the CLI.
Once registration is successfully completed, a unique user token will be assigned and presented to you. You will need this token if using the Command Line Interface verion. This token can later be read from the User Input page.
realMethods CE runs inside a Docker container. To access it, issue the following command:
docker ps : to display the container name which realMethods is running docker exec -it __your_container_name__ /bin/bash : Review Docker exec docs cd /usr/local/tomcat/webapps/ROOT : change directory to root dir of the realMethods webapp running on Tomcat 9
- How do I get realMethods to deduce an object model from a JAR file containing certain Java objects?
- What is the best way to use a SQL script file as a model?
- Are there any issues using a compound primary key instead of a simple primary key?
From either the CLI or Web interface, you can provide a JAR file to use as input for the model portion of generating a project. In both cases, you will need to provide the root Java package name of the classes that comprise what you could consider to be the collection of Beans or Plain Old Java Objects. This will allow realMethods to parse the JAR file using the package name to determine which files to consider or ignore.
Read all about this here
Read all about this here
Tech Stack Package
- Are Tech Stack Packages open source?
- I have an idea for a Tech Stack Package. Is there a way to work with realMethods to create one?
- How can I make modifications to an existing Tech Stack Package?
- Download the Tech Stack Package
- Make modifications
Yes. All realMethods supported Tech Stack Packages are located here.
Absolutely!! There are massive # of great technology combinations and there is no way we could ever capture them all. realMethods has been designed as an open tech-stack-agnostic project generation platform. This means the tech stack definitions are separate from the platform itself. As long as a tech stack is packaged according to our well defined methodology, it can be easily made part of our Teck Stack Package ecosystem. In fact, this is how we have developed every available Tech Stack Package.
Receive a Free Enterprise license
If you create a Tech Stack Package and are willing to allow us to validate and share it with our DevOps community, your company will receive a free Enterprise license, which includes source code and early access to point releases and features.
Modifications to an existing Tech Stack Package are only available through the CLI.Follow These Steps:
A tech stack package can be either downloaded from the realMethods public Git Repo or it can be downloaded via the CLI:
realmethods_cli stack_download _stack_identifier_ _output_package_file_path_
- Edit the package descriptor
- Rename the package
- Update the README.md
- Change any of the contents!!
Locate file techstackpackage.xml in the root of the package to minimally change the name and shortName fields to unique values.
Again, for the purpose of uniqueness among already published packages.
Be sure to reference that this package is derived from another package and include the differences.
The purpose of a Tech Stack Package is to serve as a collection of reusable assets that are captured in a series of template files. Each template file name and/or contents produce output predicated on the model applied.
Review the common templates
Each realMethods Tech Stack Package refers to a set of common macros and template files found in the common templates package. This package is not itself a Tech Stack Package, but you may want to access it since any package you edit will likely reference components within it.
realmethods_cli stack_validate __package_file_path__
realmethods_cli stack_publish __tech_stack_package_yaml_file__ [scope]Note: Click here for an example of Tech Stack Package YAML input file.
Scope: public or private [default].
The purpose and components of what realMethods calls a Tech Stack Package is found here.
- What is a resource?
- Can more than one resource be applied to a project generation YAML?
- Are resources able to be shared?
A resource is a single file that can be applied to a project generation session. For example, if you have a Dockerfile you prefer to use instead of what is generaed by default, you can publish the resource via the CLI using:
realmethods_cli resource_publsh ./myfiles/Dockerfile myDockerFile DOCKERFILE private
Yes. You can list multiple resource refereneces by separating them with either a space or comma.
useResources: myDockerfile, myCirciCIConfigyYAMLThis assumes resources by the referenced names have already been published.
Yes. A resource can be published and made public, indicating others can reference the resource within the Project-as-Code YAML file. Care should be taken when both using and sharing a public resource.
- Is it project, application, or code generation
- For security reasons, can I generate an application without publishing my model?
realMethods feels it is important to distinguish between generating a project, an application and code.
Code generation encompasses any tool which creates any amount of code. This could be a simple as 'Hello World'. The code itself may not execute or be of entire use on it's own.
Application generation includes code generation. It encompasses the generation of enough assets so the final output is minimally considered an initial version. This initial version is often seen as enough to commit to a Git repository. The application itself is not necessarily buildable, testable, or deployable.
Project generation includes application generation. It encompasses the generation of every component required of a project to build, test, package, archive, and deploy the resulting application.
Yes. If you are using the Community or Enterprise Editions of realMethods, all activities with your host are secure and confined to that instance. If you prefer not to publish a model for reuse later during a generation session, you can provide the
- Which CI platforms are supported?
- Do all Tech Stack Packages output YAML for each supported CI Platform?
A list of supported CI platforms is found here.
The short answer is Yes with a but not all output includes every available feature.
Some CI platforms do not (or did not) have support for Windows builds so the ASP.NET package must be built manually (instructions included).
Terraform output is supported on both CircleCI and CloudBees with full support on all supported CI platforms underway
Kubernetes output is supported on CloudBees with full support on all CI platform underway
- How do I use a private Git repository
- Can I use my own Git host?
Private Git repo support is only available for the Enterprise edition.
Yes. Simply provide it's root URL as the host parameter when specifying the Git parameters.
- Generated project code not found in Git repository
- The Git repo name is misspelled.
- The Git repo is not public. (Both Community and Enterprise Editions)
- The Git SSH is failing for private repo. (Both Enterprise Editions)
- Recheck the Git credentials and host name.
- Failure during initialization of the realMethods CLI
- Wrong realMethods Platform host URL.
- The realMethods Platform host is not running or accessible.
- Incorrect user token being supplied.
- CI platform pipeline not starting when project code is commited to the Git host's repository With any CI platform, it requires a connection be made to a Git repository. Once it detects a commit, the CI platform will attempt to read a specific YAML file. This YAML file contains directives on environment setup as well as how to build, test, package, and deploy the generated application. realMethods generates this YAML file for a variety of CI vendors.
Even though all project code and related files are appropriately generated, committing them to a Git repo may fail. Failure often takes place for the following reasons: