Help Center/ CodeArts Pipeline/ Best Practices/ Creating a Repository Tag Using the Pipeline Contexts
Updated on 2024-11-08 GMT+08:00

Creating a Repository Tag Using the Pipeline Contexts

Overview

Contexts are a way to access information about pipeline runs, sources, variables, and jobs. Each context is an object that contains various attributes. You can use pipeline contexts to transfer information among jobs to streamline a pipeline.

The following describes how to create a repository tag through the pipeline contexts.

Preparations

Procedure

  1. Log in to the Huawei Cloud console.
  2. Click in the upper left corner of the page and choose Developer Services > CodeArts Pipeline from the service list.
  3. Click Access Service.
  4. Click Create Pipeline and configure pipeline information.

    1. Configure the following basic information and click Next.
      Table 1 Pipeline basic information

      Parameter

      Description

      Name

      Enter Pipeline01.

      Project

      Project to which the pipeline belongs. Select the project Project01 created in Preparations.

      Code Source

      Code source associated with the pipeline. Select Repo.

      Repository

      Select the repository Repo01 created in Preparations.

      Default Branch

      Select the branch release-1.0.0 created in Preparations.

    2. Select Blank Template and click OK.

  5. Go to the Task Orchestration page. Two stages (Code Source and Stage_1) are generated by default. Click Stage to add a new stage (Stage_2).
  6. Add the ExecuteShellCommand to generate a tag name.

    1. Click Job under the Stage_1.
    2. Search for the extension ExecuteShellCommand and add it.
    3. Enter a name (here we retain the default name) and enter the following shell commands:
      branch='${{ sources.Repo01.target_branch }}'    //Obtain the name of the running branch.
      echo $branch                                    //Print the branch name.
      tag=${branch/release-/v}                        //Rename the branch. (Here we customize the branch name release-1.0.0 as v1.0.0.)
      echo $tag                                       //Print the tag name.
      echo ::set-output var=tag_name:$tag             //Generate an output tag_name and set it as a context for future use.
    Figure 1 Generating a tag name

  7. Add the CreateTag extension to create a repository tag.

    1. Click Job under Stage_2.
    2. Search for the CreateTag extension and add it, and set the following information:
      • Name: Extension name. Retain the default value.
      • Tag Name: Enter ${{jobs.JOB_tBeer.outputs.tag_name}}, where JOB_tBeer indicates the ID of the ExecuteShellCommand job.
      • Repository: Select the code repository associated with the pipeline.
      Figure 2 Creating a repository tag

  8. After the configuration, click Save and Execute.
  9. In the displayed dialog box, retain the default settings, and click Execute.
  10. After the pipeline execution is complete, choose Code > Repo from the left navigation pane.
  11. Click the repository associated with the pipeline.
  12. On the displayed Code page, click the Tags tab. The tag v1.0.0 is displayed.

    Figure 3 Checking a tag