-
Notifications
You must be signed in to change notification settings - Fork 44
Home
This page describes the steps required for installing the Jazz framework, using the Jazz Installer. For more details on the Jazz Serverless Development Framework, please refer here.
-
Installer box: Installer box that brings up the Jazz stack.
- You can use a CentOS (7.x) instance as your installer box. To create a new CentOS instance please refer here.
-
Jenkins: Installation will require a Jenkins instance for CI/CD.
- If you plan to use an existing instance you will need to provide a jenkins user with 'admin' permissions.
- if you do not use an existing instance, a Jenkins container will be stood up as part of the installation.
-
Git SCM: As part of the installation, you can choose Bitbucket or Gitlab as your SCM for platform and user repositories.
Bitbucket: Installation will require a bitbucket user with 'Admin' permission to an existing Bitbucket instance.
* Ensure the following addons are installed on the bitbucket server: * Atlassian Universal Plugin Manager Plugin * bitbucket-webhooks * Bob Swift Atlassian Add-ons - Bitbucket CLI Connector * Bitbucket Web Post Hooks Plugin
Gitlab: Installation will run Gitlab CE in a container
-
AWS account: Installation will deploy the platform components as well as create user services in AWS.
Ensure you have the IAM keys with sufficient permissions to create the following AWS resources in us-east-1/us-west-2:
AWS::ApiGateway
AWS::CloudFormation
AWS::CloudFront
AWS::Cognito
AWS::DynamoDB
AWS::ECR
AWS::Elasticsearch
AWS::IAM::Policy
AWS::Kinesis
AWS::Lambda
AWS::S3::Bucket
Note that not all AWS regions support all of these AWS resources yet, and if you pick a region that lacks support for one or more of these resource types, the installer will fail. Refer to the AWS offical region table for an up-to-date listing. The installer has been tested in the following regions:
- us-east-1
- us-west-2
A list of the resources the Terraform installer will create can be found here, though running terraform plan
will provide a more detailed and accurate listing.
- Building stack in AWS using existing Jenkins and BitBucket instances.
- Building stack in AWS using an existing BitBucket instance and a Jenkins container.
- Building stack in AWS using a Gitlab and Jenkins container.
Before proceeding with the installation, make sure prerequisites are met.
- If have not already SSH'ed into to the installer box that you set up here, do so.
1(a). (Optional) Export your AWSCLI credentials as environment variables if you have not already done so. If the credentials are not detected in the environment you will be asked for them later:
export AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY>
export AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_KEY>
- Run the below command to start the installation (if you are looking to enable optional features like code quality, use the command listed here:
a. Install latest: This can be unstable with pre-release bits in them:
curl -L https://raw.githubusercontent.com/tmobile/jazz-installer/master/centos7-provision.sh | sh -s -- -ib master && cd jazz-installer && sh Installer.sh -b master
b. Install specific release: Choose a release tag from here and replace the {relver} tag in the command below and run it:
(ver={relver}; curl -L https://raw.githubusercontent.com/tmobile/jazz-installer/$ver/centos7-provision.sh | sh -s -- -ib $ver && cd jazz-installer && sh Installer.sh -b $ver)
For example, to install v1.6, your command would be:
(ver=v1.6; curl -L https://raw.githubusercontent.com/tmobile/jazz-installer/$ver/centos7-provision.sh | sh -s -- -ib $ver && cd jazz-installer && sh Installer.sh -b $ver)
-
Follow the installer wizard prompts:
-
You will be asked to provide a prefix for your stack (Please use only lowercase alphabets & numbers for tag name. Some of the artifacts are named using this information and AWS has restrictions on how we use this tag. DO NOT run the installer on top of an existing installation without first destroying the existing installation).
-
You will be asked to provide an admin email address that will be used to manage Jazz.
-
-
Once the installation is complete, you should see a log similar to this:
Please use the following values for checking out Jazz
________________________________________________
{
"Jenkins ELB" : "{Jenkins Host Name}",
"Jenkins Username" : "{Jenkins User Name}",
"Jenkins Password" : "{Jenkins Password}",
"Jazz Home" : "{Jazz Home Page}",
"Jazz Admin Username" : "{Jazz Admin Email Address you provided}",
"Jazz Admin Password" : "{Jazz Admin Password that was autogenerated for you}",
...
}
You can also run tail -20 stack_creation.out
inside the jazz-installer
directory to find the details to administer Jazz.
Follow the post-install steps covered here before starting to use Jazz.
- Current version runs only on AWS Stack.
- From Jazz version > v1.12, installer deploys docker containers (related to internal Jazz components) to ECS Fargate service. Currently, you may run into disk space errors because of underlying issue with ECS Fargate (Has a disk space limit of 10GB as described here. AWS is working on related features according to their roadmap. We'll implement changes that can potentially resolve these issues as soon as related features are available in AWS Fargate.