vscode-tekton
vscode-tekton copied to clipboard
Tekton support for Visual Studio Code
Tekton Pipelines Extension
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 thetkn
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
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.
- File a bug in GitHub Issues.
- Or contact us in Tekton Slack
#ide-integration
channel
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