To model your release process, you create a pipeline that represents the stages, tasks, and approvals that you normally use for releasing your software. VMware Code Stream then automates the process that builds, tests, approves, and deploys your code.

Now that you have everything for modeling your software release process, here's how you do it in VMware Code Stream.

Prerequisites

Procedure

  1. Examine the projects available in VMware Code Stream and select one that is right for you.
    • If no projects appear, ask a VMware Code Stream administrator who can create a project and make you a member of the project. See How do I add a project in VMware Code Stream.
    • If you are not a member of any projects listed, ask a VMware Code Stream administrator who can add you as a member of a project.
    Projects in Code Stream appear on a card, and display the number of administrators and members in the project.
  2. Add any new cloud-based and remote endpoints on premises that you need for your pipeline.
    For example, you might need Git, Jenkins, Code Stream Build, Kubernetes, and Jira.
    When you add an endpoint, you select the type of endpoint and include specific information about the endpoint that Code Stream uses when it connects to it.
  3. If you add a remote on-premises endpoint, such as a GitHub repository that is on premises, add a cloud proxy in VMware Cloud Assembly. VMware Code Stream can then connect to the endpoint.
    A remote endpoint can be a data source, repository, or notification system that resides on premises instead of in a cloud-based environment. On-premises endpoints are not reachable over the public Internet because they reside behind a firewall.
    1. To add a cloud proxy, download the cloud proxy OVA, and install it in your vCenter Server instance.
    2. Go to your VMware Cloud Assembly service, click Cloud Proxies, click New, and install the cloud proxy.
    When you install a cloud proxy, you copy the key from the dialog box and apply the key when the installation begins.
  4. Create variables so that you can reuse values in your pipeline tasks.

    Use secret variables to hide and encrypt sensitive information. Use restricted variable for strings, passwords, and URLs that must be hidden and encrypted, and to restrict use in executions. For example, use a secret variable for a password or URL. You can use secret and restricted variables in any type of task in your pipeline.

    To constrain the resources used in your pipelines, such as a host machine, use restricted variables. You can restrict the pipeline from continuing to run until another user explicitly approves it.

    Administrators can create secret variables and restricted variables. Users can create secret variables.

    You can reuse a variable as many times as you want across multiple pipelines. For example, a variable that defines a host machine can be HostIPAddress. To use the variable in a pipeline task, you enter ${var.HostIPAddress}.
    Variables in Code Stream display the project, variable name and type, and the value for regular variables.
  5. If you are an administrator, mark any endpoints and variables that are vital to your business as restricted resources.

    When a user who is not an administrator attempts to run a pipeline that includes a restricted resource, the pipeline stops at the task that uses the restricted resource. Then, an administrator must resume the pipeline.

    To mark an endpoint as restricted, click the toggle switch to restricted.
  6. Plan the build strategy for your native CICD, CI, or CD pipeline.
    Before you create a pipeline that continuously integrates (CI) and continuously deploys (CD) your code, plan your build strategy. The build plan helps you determine what VMware Code Stream needs so that it can natively build, integrate, test, and deploy your code.
    How to create a VMware Code Stream native build Results in this build strategy
    Use one of the smart pipeline templates.
    • Builds all the stages and tasks for you.
    • Clones the source repository.
    • Builds and tests your code.
    • Containerizes your code for deployment.
    • Populates the pipeline task steps based on your selections.
    Add stages and tasks manually.

    You add stages, add tasks, and enter the information that populates them.

  7. Create your pipeline by using a smart pipeline template, or by manually add stages and tasks to the pipeline.
    Then, you mark any resources as restricted. Add approvals where needed. Apply any regular, restricted, or secret variables. Add any bindings between tasks.
    This CICD pipeline includes several stages and tasks for the phases of your release process, such as build, publish, development, and production.
  8. Validate, enable, and run your pipeline.
  9. View the pipeline executions.
    On the Pipeline Executions page, you can observe the status of each stage as it runs, select actions, and click the link for more information.
  10. To track status and key performance indicators (KPIs), use the pipeline dashboards, and create any custom dashboards.
    Pipeline dashboards can display many details about the pipeline runs, such as how many times the pipeline ran, details about successful changes, top failed stages and tasks, and more.

Results

You created a pipeline that you can use in the selected project.

You can also export your pipeline YAML, then import it and reuse it in other projects.

What to do next

Learn about use cases that you might want to apply in your environment. See Tutorials for using VMware Code Stream.