Skip to content

Jazz Supported Installations

Ben Leggett edited this page May 14, 2019 · 41 revisions

Jazz Installation Scenarios

Jazz can be installed through the following scenarios:

  1. Scenario 1: Installation with existing Jenkins and Bitbucket services - Provisions Jazz stack and connects it with existing Jenkins and Bitbucket services.
  2. Scenario 2: Installation with existing Bitbucket service and setting up new Jenkins service (as a container) - Uses existing Bitbucket service and spins up a Jenkins service as a container in ECS.
  3. Scenario 3: Installation with provisioning new Gitlab and Jenkins services - Spins up Gitlab and Jenkins services as containers in ECS. (Recommended for trying out Jazz)

AWS Resources

Jazz framework uses the following AWS resources:

AWS::ApiGateway
AWS::CloudFront
AWS::Cognito
AWS::DynamoDB
AWS::IAM::Policy
AWS::EC2::Instance
AWS::ElasticLoadBalancing::LoadBalancer
AWS::Lambda
AWS::S3::Bucket
AWS::Elasticsearch::Domain
AWS::SES   

Installation with existing Jenkins and Bitbucket services

Building stack using existing Jenkins/BitBucket services and provide existing BitBucket/Jenkins information to create the rest of the stack.

Note:

  • Installation will require a Jenkins user with 'admin' permission.
  • Installation will require a BitBucket user with 'create project' permission.
  • Logon to the installer box, create jenkinskey.pem and bitbucketkey.pem with private keys of Jenkins and Bitbucket in /home/ec2-user

In case if you have had to run ./run.py manually, please ensure that you have provided information for the prompt below:

 Please provide the tag Name to Prefix your Stack(Eg:- jazz10 ): jazz700

Then, provide inputs to the following prompts:

 Please provide Jenkins host name (Please ignore http and port number from URL): jazzTest-jenkinselb.us-east-1.elb.amazonaws.com
 Please provide username for Jenkins (used for execution of Jenkins jobs): jenkinsusername
 Please provide password for Jenkins (used for execution of Jenkins jobs): jenkinspassword
 Please provide Jenkins Server IP (used for configuring Jenkins plugins): XX.XXX.XXX.XXX
 Please provide Jenkins SSH login name (used for configuring Jenkins plugins): ec2-user
 Please provide Jenkins Server Security Group Name: sg-xxxxxx
 Please provide Jenkins Server Subnet: subnet-xxxxx
 Please provide Bitbucket host name (Please ignore http and port number from URL):: jazzTest-bitbucketelb.us-east-1.elb.amazonaws.com
 Please provide username for Bitbucket (used for creating repositories and managing permissions):
 Please provide password for Bitbucket (used for creating repositories and managing permissions):
 Please provide bitbucket Server IP: XX.XXX.XXX.XXX
 Please provide bitbucket SSH login name: ec2-user
 Press the <ENTER> key to continue...
 Please provide valid email ID to login to Jazz Application (provide valid email as you will need to confirm before logging in): usern@email.com

Finding installation status

Note: The installer will take around 20-30 min (for a AWS RHEL t2.micro instance) to complete. Installation logs are stored in ~/jazz-installer/stack_creation.out

  • To ensure that the installation is complete, please execute the following command & verify that you see the line - Installation Completed!!!

    tail -f stack_creation.out | grep 'Installation Completed!!!'
    
  • To find stack details (Jenkins, Bitbucket, Jazz Web Application URLs), run below

    cat /home/ec2-user/jazz-installer/installscripts/terraform-unix-noinstances-jazz/settings.txt
    
  • If the installation does not complete in ~45 min, please review the nohop.out for any error messages.

List of resources created

Terraform will create the stack with the AWS resources below:

AWS::Cognito
  Cognito_user_pool
AWS::EC2::SecurityGroup
  Aws_security_group.bitbucketelb
  Aws_security_group.jenkins
  Aws_security_group.bitbucket
  Aws_security_group.jenkinselb
AWS::S3::Bucket
  Aws_s3_bucket.cloudfrontlogs
AWS::DynamoDB
  Aws_dynamodb_table.dynamodb-table-stg
  Aws_dynamodb_table.dynamodb-table-dev
  Aws_dynamodb_table.dynamodb-table-prod
AWS::ApiGateway
  Aws_api_gateway_rest_api.jazz-dev
  Aws_api_gateway_rest_api.jazz-prod
  Aws_api_gateway_rest_api.jazz-stag
AWS::Lambda
  Aws_iam_role.lambda_role
AWS::S3::Bucket
  Aws_s3_bucket.oab-apis-deployment-dev
  Aws_s3_bucket.oab-apis-deployment-stg
  Aws_s3_bucket.oab-apis-deployment-prod
  Aws_s3_bucket.jazz-web
AWS::CloudFront
  Aws_cloudfront_origin_access_identity.origin_access_identity
  Aws_cloudfront_distribution.jazz
AWS::IAM::Policy
  Aws_iam_role_policy_attachment.apigatewayinvokefullAccess
  Aws_iam_role_policy_attachment.lambdafullaccess
  Aws_iam_role_policy_attachment.cloudwatchlogaccess
AWS::ElasticLoadBalancing::LoadBalancer
  Aws_elb.bitbucketelb
  Aws_elb.jenkinselb
AWS::Elasticsearch::Domain
  Aws_elasticsearch_domain
  Aws_elasticsearch_domain_policy.elasticsearchdomain_policy
AWS::EC2::Instance
  Aws_instance.bitbucketserver
  Aws_instance.jenkinsserver
AWS::ElasticLoadBalancing::LoadBalancer
  Aws_elb_attachment.jenkins
  Aws_elb_attachment.bitbucket

List of Jenkins plugins

List of Jenkins plugins that will be installed and configured:

bouncycastle-api                  bouncycastle API Plugin                                          2.16.1 (2.16.2)
pipeline-input-step               Pipeline: Input Step                                             2.8
cloudbees-folder                  Folders Plugin                                                   6.0.4 (6.3)
branch-api                        Branch API Plugin                                                2.0.10 (2.0.17)
structs                           Structs Plugin                                                   1.17
docker-commons                    Docker Commons Plugin                                            1.13
junit                             JUnit Plugin                                                     1.26.1
antisamy-markup-formatter         OWASP Markup Formatter Plugin                                    1.5
pam-auth                          PAM Authentication plugin                                        1.4
windows-slaves                    Windows Slaves Plugin                                            1.3.1
pipeline-build-step               Pipeline: Build Step                                             2.7
display-url-api                   Display URL API                                                  2.0 (2.2.0)
docker-workflow                   Docker Pipeline                                                  1.12 (1.14)
mailer                            Mailer Plugin                                                    1.21
ldap                              LDAP Plugin                                                      1.15 (1.18)
token-macro                       Token Macro Plugin                                               2.1 (2.3)
external-monitor-job              External Monitor Job Type Plugin                                 1.7
icon-shim                         Icon Shim Plugin                                                 2.0.3
matrix-auth                       Matrix Authorization Strategy Plugin                             1.6 (2.2)
pipeline-model-api                Pipeline: Model API                                              1.1.6 (1.2.5)
script-security                   Script Security Plugin                                           1.47
matrix-project                    Matrix Project Plugin                                            1.11 (1.12)
build-timeout                     build timeout plugin                                             1.18 (1.19)
credentials                       Credentials Plugin                                               2.1.18
ssh-credentials                   SSH Credentials Plugin                                           1.14
workflow-step-api                 Pipeline: Step API                                               2.16
plain-credentials                 Plain Credentials Plugin                                         1.4
git-client                        Git client plugin                                                2.7.3
apache-httpcomponents-client      Apache HttpComponents Client 4.x API Plugin                      4.5.5-3.0
jsch                              JSch dependency plugin                                           0.1.54.2
credentials-binding               Credentials Binding Plugin                                       1.16
timestamper                       Timestamper                                                      1.8.8 (1.8.9)
jackson2-api                      Jackson 2 API Plugin                                             2.7.3 (2.8.10.1)
scm-api                           SCM API Plugin                                                   2.3.0
workflow-api                      Pipeline: API                                                    2.30
workflow-support                  Pipeline: Supporting APIs                                        2.21
github-api                        GitHub API Plugin                                                1.92
durable-task                      Durable Task Plugin                                              1.26
workflow-durable-task-step        Pipeline: Nodes and Processes                                    2.22
git-server                        GIT server Plugin                                                1.7
resource-disposer                 Resource Disposer Plugin                                         0.12
ws-cleanup                        Workspace Cleanup Plugin                                         0.33 (0.34)
ant                               Ant Plugin                                                       1.8
git                               Git plugin                                                       3.9.1
gradle                            Gradle Plugin                                                    1.26 (1.28)
workflow-cps                      Pipeline: Groovy                                                 2.59
pipeline-milestone-step           Pipeline: Milestone Step                                         1.3.1
workflow-cps-global-lib           Pipeline: Shared Groovy Libraries                                2.8 (2.9)
jquery-detached                   JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin 1.2.1
ace-editor                        JavaScript GUI Lib: ACE Editor bundle plugin                     1.1
workflow-scm-step                 Pipeline: SCM Step                                               2.7
pipeline-stage-step               Pipeline: Stage Step                                             2.2 (2.3)
github                            GitHub plugin                                                    1.29.3
workflow-job                      Pipeline: Job                                                    2.12 (2.16)
pipeline-stage-view               Pipeline: Stage View Plugin                                      2.8 (2.9)
pipeline-graph-analysis           Pipeline Graph Analysis Plugin                                   1.4 (1.6)
pipeline-rest-api                 Pipeline: REST API Plugin                                        2.8 (2.9)
handlebars                        JavaScript GUI Lib: Handlebars bundle plugin                     1.1.1
momentjs                          JavaScript GUI Lib: Moment.js bundle plugin                      1.1.1
pipeline-model-extensions         Pipeline: Declarative Extension Points API                       1.1.6 (1.2.5)
workflow-multibranch              Pipeline: Multibranch                                            2.15 (2.16)
authentication-tokens             Authentication Tokens API Plugin                                 1.3
mapdb-api                         MapDB API Plugin                                                 1.0.9.0
pipeline-stage-tags-metadata      Pipeline: Stage Tags Metadata                                    1.1.6 (1.2.5)
pipeline-model-declarative-agent  Pipeline: Declarative Agent API                                  1.1.1
workflow-basic-steps              Pipeline: Basic Steps                                            2.5 (2.6)
pipeline-model-definition         Pipeline: Model Definition                                       1.1.6 (1.2.5)
workflow-aggregator               Pipeline                                                         2.5
github-branch-source              GitHub Branch Source Plugin                                      2.4.1
pipeline-github-lib               Pipeline: GitHub Groovy Libraries                                1.0
subversion                        Subversion Plug-in                                               2.12.1
ssh-slaves                        SSH Slaves plugin                                                1.20 (1.25)
config-file-provider              Config File Provider Plugin                                      3.3
pipeline-npm                      Pipeline NPM Integration Plugin                                  0.9.1 (0.9.2)
mercurial                         Mercurial plugin                                                 2.4
cloudbees-bitbucket-branch-source Bitbucket Branch Source Plugin                                   2.1.2 (2.2.8)
bitbucket                         Bitbucket Plugin                                                 1.1.8
envinject                         Environment Injector Plugin                                      2.1.1 (2.1.5)
build-user-vars-plugin            user build vars plugin                                           1.5
javadoc                           Javadoc Plugin                                                   1.4
jquery                            jQuery plugin                                                    1.11.2-0 (1.12.4-0)
extended-choice-parameter         Extended Choice Parameter Plug-In                                0.76
aws-java-sdk                      Amazon Web Services SDK                                          1.11.119 (1.11.248)
aws-credentials                   CloudBees Amazon Web Services Credentials Plugin                 1.21 (1.23)
cloudbees-credentials             CloudBees Credentials Plugin                                     3.3
gitlab-plugin                     GitLab                                                           1.5.2
command-launcher                  Command Agent Launcher                                           1.2
jdk-tool                          JDK Tool Plugin                                                  1.1