vscode-tekton icon indicating copy to clipboard operation
vscode-tekton copied to clipboard

Tekton support for Visual Studio Code

Tekton Pipelines Extension tekton

Visual Studio Marketplace Build Status Unit Tests Code Coverage License

Overview

Tekton Pipelines extension provides an end-to-end developer experience for interaction with Tekton.

Using this extension:

  • Developer can create Tekton resource easily by using Deploy resource on save.
  • Install Task/ClusterTask from TektonHub TektonHub integration.
  • Support for start Pipeline, Workspace and create new PVC(PersistentVolumeClaim) Wizard for Pipeline Start.
  • Show Tekton TaskRun/PipelineRun Logs in Editor Show logs.
  • Support for Adding Trigger.
  • Tekton variables code completion.
  • Pipeline/PipelineRun preview diagram

Tekton version

This extension is designed to work with Tekton Pipelines 0.11+.

Tekton API version

We support v1beta1 API. Previous version v1alpha1 may work, but we cannot guarantee that all features will work properly. If you have v1alpha1 pipelines/tasks please use migrating document to migrate to v1beta1.

A Visual Studio Code extension for interacting with Tekton Pipelines.

New and Noteworthy

TektonHub

  • TektonHub Integration:

  • Install Task from TektonHub as ClusterTask:

Wizard for Pipeline Start

  • Start Pipeline:

  • Pipeline with Workspace:

  • Create new PVC:

Show Tekton TaskRun/PipelineRun Logs in Editor

Tekton variables code completion

Add Trigger support

Restart Pipeline with previous PipelineRun content

Deploy resource on save

Note: This is experimental feature, you need to enable it in VSCode Setting Preferences

'Go to Definition' for Tekton Pipeline yaml

Tekton tree auto refresh and open resource from an inline command

PipelineRun Preview

Setup Kubernetes Cluster to use with the Extension

To use the extension, developers can deploy Tekton Pipelines into a minikube instance or use Red Hat CodeReady Containers.

Red Hat CodeReady Containers

Red Hat CodeReady Containers is a simple way to start OpenShift Cluster on your laptop in a matter of minutes, follow this documentation to get it up and running. After cluster is started follow this steps to deploy OpenShift Pipelines into an OpenShift cluster.

minikube

For detailed analysis of how to setup Tekton Pipelines into minikube instance, please follow the instructions/tutorial.

Tutorial

Follow Tekton Pipeline Extension tutorial inspired by original tutorial that uses OpenShift Developer Console, tkn and oc command line tools.

Commands and features

Development of the Tekton Pipelines Extension is largely following development of the tkn CLI as well as Tekton Pipelines which are both under active development and potentially subject to drastic changes. Please don't hesitate to open an issue if you find a bug or something breaks unexpectedly. Pull Requests are always welcome--see the CONTRIBUTING section for details.

tekton-pipelines supports a number of commands & actions for interacting with Tekton Pipelines; these are accessible via the command menu (Cmd+Shift+P ⌘⇧P on macOS or Ctrl+Shift+P ⌃⇧P on Windows and Linux) and may be bound to keys in the normal way.

  • Tekton: About - Provides the tkn tool version.
  • Tekton: Show Output Channel - Shows commands running under the hood and their output.
  • Tekton: Refresh View - Refreshes the Tekton Pipeline View.

Actions available for a Tekton Pipeline/Task/ClusterTask

  • Pipeline -> Start - Start a Pipeline with user indicated resources, parameters and service account.
  • Pipeline -> Restart - Restart the last Pipeline run.
  • Pipeline/Task/ClusterTask -> List - List all Pipelines in a Cluster.
  • Pipeline -> Describe - Prints the JSON of a selected Pipeline.
  • Pipeline/Task/ClusterTask -> Delete - Delete the selected Pipeline.

Actions available for a Tekton PipelineRun

  • PipelineRun/TaskRun -> List - List all PipelineRuns/TaskRuns in a Pipeline/Task
  • PipelineRun/TaskRun -> Describe - Describe the selected PipelineRun/TaskRun
  • PipelineRun/TaskRun -> Logs - Print Logs from the selected PipelineRun/TaskRun
  • PipelineRun/TaskRun -> Delete - Delete the selected PipelineRun/TaskRun
  • PipelineRun -> Cancel - Cancel the selected PipelineRun

Icons Representation

Pipeline Node
Task Node
ClusterTask Node
PipelineResource Node
PipelineRun/TaskRun Running
PipelineRun Failed
TaskRun Failed
Condition Failed
PipelineRun Pending
TaskRun Pending
Condition Pending

Extension Configuration Settings

  • Tekton Pipelines: Show Channel On Output - Show Tekton Pipelines output channel when new text added to output stream.
  • Tekton Pipelines: Output verbosity level - Output verbosity level (value between 0 and 9) for Tekton Pipeline Start, Push and Watch commands in output channel and integrated terminal.
  • Tekton Pipelines: Show reference resource notification - Enable/disable to check Task and ClusterTask Reference Resource.
  • Tekton Pipelines: Show logs on pipeline start - Show pipelineRun follow logs while starting pipeline.

Dependencies

CLI Tools

This extension uses the Tekton CLI: tkn

Extensions

This extension depends on Kubernetes Extension from Microsoft which is going to be installed automatically along with the Tekton Pipelines Extension. The image below demonstrates the Kubernetes Extension public API displaying Tekton specific resources: ClusterTasks, Tasks, Pipelines, Pipeline Resources, PipelineRun, TaskRun in the Kubernetes Clusters View.

Release notes

See the change log.

Nightly builds

WARNING: Nightly builds are by definition unstable. Install at your own risk.

Nightly builds are published every 24 hours and available from this location with most recent build is on top of the list. To install nightly build, download latest extension .vsix package and follow the steps on image below.

Contributing

This is an open source project open to anyone. This project welcomes contributions and suggestions!

For information on getting started, refer to the CONTRIBUTING instructions.

Download the most recent tekton-pipelines-<version>.vsix file and install it by following the instructions here.

Feedback & Questions

If you discover an issue please file a bug and we will fix it as soon as possible.

License

MIT, See LICENSE for more information.

Data and telemetry

The Red Hat Tekton Pipelines Extension for Visual Studio Code collects anonymous usage data and sends it to Red Hat servers to help improve our products and services. Read our privacy statement to learn more. This extension respects the redhat.telemetry.enabled setting which you can learn more about at https://github.com/redhat-developer/vscode-redhat-telemetry#how-to-disable-telemetry-reporting