AWS DevOps Pipeline (DOP)

1.8.0

New features:

  • AWS DevOps Pipeline has been enhanced to support CI/CD/CT workflows across any branch of the modernized application. This allows teams to customize their deployment strategies beyond the previous master and develop branch restrictions.
  • CI/CD/CT now supports multiple Gapwalk Runtime versions, facilitating faster version adoption across projects.

Improvements:

  • The application build pipelines now include a configurable parameter to toggle SonarQube code analysis execution.

    1.7.0

    New features:

  • AWS DevOps Pipeline no longer uses CodeCommit. A dedicated GitLab server is now deployed within the client's VPC account.
  • Gitlab is backed up twice a day, once a week, once a month.

Improvements:

  • Test case execution durations are now displayed in the Jenkins console log.
  • Most of the binaries are stored in s3 tools so developers can use the version they want. (Except for CompareTool which is still deployed by the CDK scripts)
  • Jenkins connects to AWS Blu Age RTS by using Cognito
  • AWS Blu Age DevOps Pipeline code is now stored in gitlab-devops repository only

    1.6.0

    New features:

  • Added a lambda updating the AMIs to the latest version. Only the AMIs used by the CI are concerned.

Improvements:

  • Refined AWS roles to adhere to the Principle of Least Privilege.
  • Refined Security groups
  • Added access logs for all ALBs
  • KMS keys can be specified by the client

    1.5.0

  • Access logs added for all buckets
  • ECS SNS topics encrypted

    1.4.0

    Testing Pipeline

  • Test cases can use RDS databases created by RTS
  • PDFs generated by test cases are displayed and compared by Jenkins

    1.3.0

    Testing Pipeline

  • Playwright scripts can be run for test cases on Jenkins

    1.2.0

    Building Pipeline

  • The codepipeline-app pipelines do not use internet anymore

    Testing Pipeline

  • The codepipeline-jenkins pipeline do not use internet anymore.
  • A Codebuild downloads python libraries, Docker hub images

    Other features

  • A new pipeline called codepipeline-docker-image-builder appears downloading Docker hub images
  • No Firewall domain are added

    1.1.0

    Building Pipeline

  • Jacoco .jar files are added in the Tomcat container

    Testing Pipeline

  • Jacoco reports appears on each Jenkins job
  • Jenkins generates the entire Jacoco report by merging all the jacoco.exec in the Jacoco Report job in the Pipeline tab

    1.0.0

    Building Pipeline

  • .jar and .war binary files are fetched from s3-<AWS_REGION>-<PROJECT_NAME>-velocity-<AWS_ACCOUNT_ID>
  • Tomcat config files are fetched from codecommit-<PROJECT_NAME>-server
  • Sonarqube reports on UAT
  • A Slack notification is sent concerning the state of the pipeline and specifying the name of the last committer
  • The application state in ECS is based on the curl response of http://localhost:8080/gapwalk-application/programs inside the container

    Testing Pipeline

  • Jobs in codecommit-app-test-cases are automatically created on Jenkins
  • Jenkins config jobs can be automatically updated by modifying the variable UPDATE_CONFIGURATION in /jenkins/VARIABLES and running the pipeline codepipeline-jenkins
  • Jenkins can run Selenium(ITC) and Batch(BTC) test cases
  • Jenkins can run jobs in parallel but the number of EC2s in the ECS cluster is not scalable
  • All the jobs are run every night except the weekend
  • Jenkins jobs can handle multiple Entrypoints
  • Jenkins jobs can handle multiple CompareDB
  • Jenkins jobs can handle multiple CompareFile (file type: binary and textFile)
  • Jenkins displays PDF files generated by the server in the report section
  • All the jobs can be run at once using Job Runner
  • The static server can be restart using Restart App Server
  • ECS containers, files in s3 and EFS files created by the jobs are deleted automatically if there are older than 6 hours using Cleaner