Suggestion to use DEVOPS tools like Jenkins (CI/CD) to promote code migration in Exstream 21.4

Options

Hi All,

Can you suggest me best practice to use CI/CD pipeline for migrating Exstream changes to higher environment.

Code deployment team asking below details.

  1. Tools used for automated build-and-test to ensure that code changes being merged into the repository.
  2. Validation and compliance (Security) - Validate the build with respect to organization needs
  3. How do we ensure the Code analysis and review standards
  4. Unit testing Coverage as per the standards setup
  5. Automated release of a build to a code repository, continuous deployment and releasing the app

Appreciate your suggestions.

Comments

  • Us too. We are using Bamboo, but the concepts should be the same.

  • I have used a few different tools to to this - but they are all different so I will not talk about them.

    But what I do for a release is:

    1. From DEV create a TST package when I am happy with my changes. The package contains a version number and DEV based parameters for connectors/queues/operation attributes, smoke tests, other artefacts.
    2. In TST, have a monitoring tool to look for new packages and to deploy them in a load balanced Ying/Yang configuration. (If ying is live then I deploy to yang in an isolated mode).
    3. The TST environment has its own settings (for operation modes/connectors/queues/etc) kept in the automation tooling.
    4. The new service is then fed with a series of test files with omni-channel output that is created when the service is in a smoke test mode.
    5. I then have a script to test the output - here you can go bananas with the level of tests.
    6. If the tests pass then I reset the service mode to normal and start it up.
    7. I then flip the load balancer to point to the updated service.
    8. If the tests fail then I just stop the update.

    The main benefit here is 0 downtime.

    Throughout the entire process I notify the automation tooling, JIRA and Slack with the progress.

    In my JIRA I can always see which version is in which envrionment and its status - how long it took to build etc.

    PRD is handled a little differently - but basically the same.

    I would love to hear what others are doing….