Before you start coding, you’ll need to set up your development environment and brush up on your expertise in the following areas. Do you need a refresher on coding AWS CloudFormation or using GitHub? Follow the links to the resources we’ve listed.
Before you start
What you’ll need to set up:
- Get a GitHub account.
- We use GitHub for source control. The GitHub organization for AWS Quick Starts is at https://github.com/aws-quickstart.
- We use SSH authentication in the submodules, so if you want to contribute to the Quick Starts, you must have your public key registered in your GitHub account.
- For security, you must enable two-factor authentication (2FA) on your account.
- Set up your development environment:
- For an IDE, you can use: Visual Studio with AWS Tools, Atom, Sublime Text, Visual Studio Code
- For source control, use: Git, GitHub.com website, SSH keys
What you’ll need to know:
- If you haven’t used Git before, learn about commands and concepts at https://git-scm.com/doc, especially the following sections:
- Familiarize yourself with JSON or YAML.
- JSON and YAML are the two supported formats for AWS CloudFormation templates. However, note that AWS CloudFormation doesn’t support all YAML features.
- Learn about AWS CloudFormation. Here are some useful links:
- Explore AWS services to include in your deployment to improve the usefulness of your cloud architecture:
Using the Quick Start GitHub organization
The GitHub organization for AWS Quick Starts is at https://github.com/aws-quickstart. When your Quick Start has been approved for publication, we’ll create a private GitHub repo for you within this organization and give you access to its contents. To commit code into this repo, you must create pull requests. When your development work and testing are complete and the Quick Start is ready for publication, we’ll make the GitHub repo public.
The GitHub repos follow these standards:
Repository names start with
quickstart-and are followed by the company name and product name with dashes as delimiters. If the Quick Start architecture includes multiple solutions, we also add the workload or use case name. The repository names and the folders names must be lowercase, and we recommend that file names be lowercase as well. For example:
- The GitHub repository for each Quick Start includes the following branches:
- master for releases that are ready to be copied to the S3 bucket for publication.
- develop for integrating changes from pull requests and other feature branches.
- Feature branches, as necessary, for planned updates.
- The GitHub repository for each Quick Start includes the following folders:
- ci: Contains the configuration file and parameter files used for automated testing. Parameter files are JSON snippets and use the .json file extension.
- scripts: Contains the scripts and configuration files that are used in the Quick Start; for example, to orchestrate the bootstrap, install or configure an app, or update a host.
- submodules: Used for any referenced Quick Starts that are configured as submodules of the Quick Start. These follow the naming convention /submodules/quickstart-repo-name where the contents are synced at a specific commit level. For more information, see submodules in the builder’s guide.
- templates: Contains the AWS CloudFormation templates for the Quick Start. All templates use the .template file extension.
- The following files are added during repo creation:
- README.md: General information about the Quick Start. The Quick Start team will edit this file to provide information about your Quick Start. For an example, see the Readme file for Oracle Database.
- NOTICE.txt: Copyright notice. Do not modify this file.
- LICENSE.txt: Apache 2.0 license. Do not modify this file.
- Do not store deployment guides or software bits in the GitHub repository. Deployment guides are managed separately, and software bits are downloaded on demand from other approved locations.