🖌️
Product Process Documentation
  • Product Process Documentation
  • Definition of Done (DoD)
    • General checkpoints
      • Specific checkpoints by team
    • Important process: QA review & PO review
      • QA Review
      • PO Review
  • Work Items
    • Product Backlog Item (PBI)
    • Bug
      • Basic rules for creating a bug
      • How to report a Bug
    • Bugs Management
  • Code Standards
  • Different Test Levels
    • Unit Test
      • Frontend Unit Testing
        • What is a Unit Test?
        • How do I know if I am developing a good unit test?
        • AAA (Arrange, Act and Assert)
        • Overloaded test suits
        • Setup & Teardown
          • JEST Mocks
          • FakeTimers
        • Istanbul Annotations
        • C8 Annotations
        • JEST Runner (Debug unit tests with Jest)
    • Component Test
      • Frontend Component Testing
        • What is Component Testing?
        • Best practices
        • Bad practices
        • Setup
          • Sandbox
          • Mocks, Services and Providers
          • Test scenario
    • Integration Test
      • Frontend Integration Testing
        • What is a Integration Test?
        • AAA (Arrange, Act and Assert)
        • Best Practices
        • Bad practices
        • Setup & Teardown
        • How to create a scenario
          • Create the migrated app
          • Add to project
        • How to debug
        • Common problems
      • Testing Driven Development Guide and recommendations
    • Functional Test
    • Security Testing
      • Security Testing Tools
      • Frontend Security Testing
    • Performance testing
    • Best Practices
    • Test Documentation
  • Run test projects
    • General steps
    • Specific steps by team
  • DevOps
    • Pipelines
    • Builds
    • Specific information by team
    • Test plan
    • Service Hooks for Azure DevOps Notifications
      • Slack Notifications
      • Microsoft Teams Notifications
  • Dashboards
    • General
    • QA Dashboards
  • Release Process
    • General Steps
    • Specific steps by team
  • Migration Cells
    • Basics of testing process
  • Release process
  • References
Powered by GitBook
On this page
  • Build process
  • Pre-Jobs
  • Build and test phase
  • Post-Jobs
  • How to run a new build

Was this helpful?

  1. DevOps

Builds

PreviousPipelinesNextSpecific information by team

Last updated 3 years ago

Was this helpful?

Build process

The build process is managed by the trigger of a pipeline with all the needed jobs in the Continuous integration process for a specific repository. For this example, we will see the build pipeline for the , which includes just one job, but we will see what it does

We will separate the build phase in parts: Pre-jobs, which are tasks needed to prepare the environment, ConversionTool Build which will restore packages and start the build, test execution and SonarQube analysis. And finally, Post-jobs, which will clean the environment for the next process.

Pre-Jobs

These tasks are usually setup by DevOps to prepare the environment for the next tasks related with the build and test phases.

Build and test phase

Tasks that are steps used to build the solution locally. These steps can be automatized and be part as the tasks in this pipeline.

After the build steps, it will execute the tasks related with testing. In this case, run the unit and integration tests. Then, it will publish the test results.

When the test results are ready, it will be imported to SonarQube, and it will run the analysis which will evaluate some metrics, such as the coverage, technical debt, maintainability, reliability.

Post-Jobs

The post-job tasks will do the respective cleanup of the machines used to execute the previous steps.

How to run a new build

To run a new build, we actually run a pipeline. This execution can be made manually, but in most cases it will run automatically with every new version of artifacts generated after the development cycle.

For example, in this case the Silverlight Conversion Tool, a new build will be executed whenever is a stable version of the Silverlight Components, that will automatically trigger the process.

Now, to execute it manually, in Azure DevOps, open the pipeline of the build that we want to run, for this example, using . Then click on the Run pipeline button

There are two options to run the pipeline. The Agent pool, which normally it is configured by default in the pipeline. And the branch or tag, where we can set on which branch or version, the pipeline will execute the for this build process.

Mobilize.SilverlightConverter.CmdRunner
tasks
Mobilize.SilverlightConverter.CmdRunner
Figure1. Step in the build pipeline of Mobilize.SilverlightConvert.CmdRunner.
Figure 2. Pre-Jobs phases of Mobilize.SilverlightConvert.CmdRunner.
Figure 3. Steps to build Mobilize.SilverlightConvert.CmdRunner.
Figure 4. Steps to test Mobilize.SilverlightConvert.CmdRunner.
Figure 5. SonarQube steps for Mobilize.SilverlightConvert.CmdRunner.
Figure 6. SonarQube analysis metrics.
Figure 7. Post-Jobs phases of Mobilize.SilverlightConvert.CmdRunner.
Figure 8. Silverlight functional tests being triggered by a new version of the CmdRunner.
Figure 9. Build pipeline for Mobilize.SilverlightConverter.CmdRunner.
Figure 10. Run Pipeline options.