/cicd

Platform service for configuering CI-CD

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Toolstitch Pattern Builder

[Build Status]

Project is to automate the DevOps CI-CD setup tool chain for whitewater user.

  Aim:
    Automate using simple UI to accept custom config for each tool in CI-CD tools of WW and make environment available with just one click.

Requirement to run : Slack team, with integration token. Token is authorization token to access and post messages on slack. Token will start with the string like "xoxb- ...". Currently slack command simulation uses Hubot tool. By default slack hubot will be selected for now. To access slack, user is using default hubot server details ( Currently system dont have auto installation of hubot.). Likewise WW tools will list requirements as config form for user. User will fill up the config form for selected tool and system is good to go for all selected tool integration.

 Tool categories for pattern 1: 
      Slack --> RTC --> Maven --> Selenium_RQM --> Urbancode Deploy
      
 Tool Categories for pattern 2:
        Slack —> jenkins —> github —> maven —> saucelab —> bluemix

Workflows

  Why we have workflow - 1
        --> Feedback from team revealed that, users may not know all tools, understanding the workflow - 2 (given below)
        is complex for them. It is more useful to the user who really understands the devops and CICD pipeline and the
        tools. Based on this we build workflow - 1. To give user more understanding what each phase is and tools can be
        used in that phase. 

Selection of functionality in Pipeline as a service

                    Workflow - 1

alt tag

                    Workflow - 2

alt tag

Tool selection wizard looks like:

alt tag

After selection of tools, user needs to fill the required configuration to make CI-CD system available. See the configuration form:

alt tag

Note on hubot:

 For those who dont know what hubot is and why do we have in Whitewater tool chain.
 Hubot can be used as dialogue system like any digital assistants. 
 It can run script on your command here we get teh command from Slack. 
 If user write a command say 'execute xyz task". Hubot will look in 
 scripts/coffeescript for the command and associted action with it, if 
 it founds it will execute that script that include all the task you have configured. 
 
 Its fun to try !!! 

OLD Readme V-1:

alt tag

Individual component tested for CI:

alt tag

Click on submit and hubot - slack integration will be automated. You can check slack channel for which you have token. You can test #general channel of team for response from the hubot by typeing "@ hi" it will reply "howdy" like below shown in image.

alt tag

RTC - RQM - Selenium using Adapter : alt tag

On submit button adapter is configured for the RTC project area and RQM Execution tool run remotly using ant script (xml) to execute test ( test written in jar ) execution record in RTC-RQM.

Please contact on my github username at google mail for adoption requests and trial.