Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 157 Next »

Overview

Projects provide insight into your release process through a set of metrics generated from various tools including Jenkins and Artifactory. A Project can be a single microservice or a complete application and is defined using a set of builds in Artifactory. Project resources are automatically discovered from the different tools, and the data is collected and refreshed periodically resulting in a set of metrics that visualize the release process in the Project dashboard. 

A Project is created by selecting a set of builds from Artifactory. Mission Control uses the BuildInfo from Artifactory to discover resources like jobs in Jenkins (note that both upstream and downstream Jenkins jobs can be included in a project), issues from Xray, code repos from Git and artifact repos in Aritfactory. Data from each tool is periodically collected and metrics with 15 minute aggregates by builds are generated.

Page Contents

Projects Dashboard

The Projects Dashboard displays the metrics according to their stage in the release process from code to artifact deployment. The dashboard presents data for the time range and filters set in two separate panes.

  • Key metric: Displayed on the bottom in the order of the release lifecycle. The value displayed on the metric, aggregates all the builds with a value representing the latest captured data for the metric together with a historical trend.
  • Details: Selecting a key metric from the lower pane, displays the breakdown of data by build

 

Filters

You can apply these global filters to gain different perspectives on your project:

  • Time range: Allows you to set the time period. You can select a predefined time periods: Last 24 hours (default), Last week, Last month, Last quarter and Last year. You can also set a custom time range and select any period of time during which data was collected.
    Custom Time Range
  • Builds selection: Allows you to select All builds (aggregate across all the builds) or an individual build from the list of available builds. The default is All Builds.
  • Build status: Allows you to view the data according to build status: All, Success, Failure and Unknown. The default is All.

Total Commits Metric

This metric tracks the commits per build. Tracking commits allows you to understand the stability of your code base.  As you get closer to the release process, you would expect to see fewer commits.

Total Commits

In the above example, the key metric shows the total commits and the aggregated trend for the Project (across all the builds) for the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the commits of each build. Selecting a point in the graph shows a time and the sum of the commits that happened in the last 15 minutes for each build.   

Average Build Duration Metric

This metric tracks the average duration for each run. Tracking the build duration allows you to understand whether builds are passing or staying consistent in their duration which serves as an indicator for stability. Since the status of the builds can impact the duration, it is advisable to view this data based on the build status to better understand the data.

Build Duration

In the above example, the key metric shows the average duration and the trend for the Project (across all the builds) for the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the duration for each build. Selecting a point in the graph shows a time and the average duration of the runs that happened in the last 15 minutes for each build. If no data was collected either due to the unavailability of source system or no runs happened, "No Data" will be displayed for that point.  

Total Dependencies Metric

This metric tracks the number of dependencies used by each build. It is critical to understand how the dependencies are changing over time.  As you get closer to the release you would expect this dependencies to remain stable. 

Total Dependencies

In the example above, the key metric shows the sum of all the unique dependencies and the aggregated trend for the Project (across all the builds) over the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the count of dependencies for each build. Selecting a point in the graph displays the time and the average number of unique dependencies for each build from the runs that have occurred in the last 15 minutes. In addition to the dependencies count, if Xray is configured, it will also show the vulnerabilities reported for the build. This provides a quick way to understand if new dependencies have introduced any critical vulnerabilities.   

Total Build Storage Metric

This metric allows you to track the total build storage on your Artifactory instance. 

Build Storage

Avg. Builds by Promotion Metric

This metric tracks the number of runs for each build that reach the promotion stage. The promotion statuses derive from the BuildInfo and apply to the Artifactory promotion process. It is important to understand how many runs of the builds reach the different stages because as you get closer to the release, you should expect to see more builds reaching the final stage.

Build Promotions

In the example above, the key metric shows the average number of runs from the latest data collection that reached the final stage and the aggregated trend for the Project within the last 24 hours. The detailed graph shows a stacked area chart, with each area representing a promotion stage. Selecting a point in the graph shows a time and the number of runs for each build that reached each stage in the last 15 minutes. In addition to the promotion stages you have set, runs without a promotion status are classified as reaching the DEFAULT stage.

From the graph, you can see that on Apr 1 2018 at 09:30 there was one run across all the builds that reached the default stage and another run that reached the Released stage.   

Total Vulnerabilities Metric

This metric tracks the number of security vulnerabilities reported by Xray for each build by severity. As you get closer to the release, you should expect to see the vulnerabilities count go down and specifically not have any critical vulnerabilities. If the Xray service is not configured or connected to the Artifactory from which builds are selected, this metric will show No Data for the graph and NA for key metric.

In the above example, the key metric displays the number of vulnerabilities across all the builds as of the latest data collection and the aggregated trend for the Project for the last week. The detailed graph shows a stacked area chart, with each area representing a build. Selecting a point in the graph shows a time and the number of vulnerabilities in the last 15 minutes for each build broken according to severity. If Xray watches did not scan a build, the graph will display No Data for the data collection period.

Artifacts Not Downloaded Metric

This metric shows the total size of Artifacts that have not been downloaded over the last 3 months. This data is useful to understand how many artifacts are being produced but not consumed. Additionally, this also informs how much space can be cleaned up from Arifactory.

Artifacts Not Downloaded

In the above example, the key metric shows the size of artifacts that have not been downloaded since the last 3 months across all the builds as of the latest data collection and the aggregated trend for the Project for the last week. The detailed graph shows a stacked area chart, with each area representing a build. Selecting a point in the graph shows a time and the size of artifacts not downloaded in the last 15 minutes for each build. 

Managing Projects

Once you have added at least one Enterprise+ Artifactory service, you can proceed to select your Jenkins and Xray services and create your first Project. 

Permissions

Only admins can create Projects. All users can view all projects.

Prerequisites

Project supports the following versions of tools:

  • JFrog Artifactory Enterprise+.
  • JFrog Xray Enterprise+.
  • Jenkins version 2.0 and above.

Adding a Project 

  1. To add a project, click Add Project from the Projects module.


  2. Select an Artifactory service from the Select Artifactory Service field.
  3. Add builds to your project from services using one these methods:
    • Select Builds by Name
      Allows using wildcards or a regular expression to select specific builds for your project. For example, you can include all the Conan builds by adding  *conan.
      Add Project
    •  

      The Include Patterns and the Exclude Patterns fields provide a way to filter out specific builds. Specify a list of Ant-like patterns to filter in and filter out build queries. Filtering works by subtracting the excluded patterns (default is none) from the included patterns (default is all). 

       

      Maximum builds for a project

      A project may contain a maximum of 25 builds regardless of the number of Artifactory services included in the project, or the way in which you select the builds (by name or by pattern).


  4. Click Add.

    Generating the Project

    It may take a while for Mission Control to generate a new project based on the number and type of builds you selected.

    While Mission Control is collecting data for the selected builds the Project will appear in the Projects list with a status of In Progress to indicate that data collection is in progress. After the data collection process is complete, the status will be changed to Created. 


Modifying Project settings

From the Projects section, hover over the project and click the Edit icon.

You can modify your project settings in the Settings tab by either changing the Artifactory services, the selection of builds or adjusting the name or pattern for selection of builds. To save your changes, click Update.

New matching builds

 If new builds matching your selection patterns have been created in the system since you created this project, Mission Control will alert you giving you the option of adding them to the project. If you do so, make sure to click Update to save the changes.

Edit Project Settings

The Details tab lists all the Artifactory repositories, builds, Git repositories and Jenkins jobs that are included in this project according to the selected Artifactory service. You can view the entities as a flat list or collated by type.Edit Project Details


  • No labels