diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2a4ddc1..61f096c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,13 +33,13 @@ There are only a few guidelines that we need contributors to follow and we are o ![View Tekton Pipelines](https://github.com/redhat-developer/vscode-tekton/blob/main/images/tekton.svg) -> If you have any questions or run into any problems, please post an [issue](issues) - we'll be very happy to help. +> If you have any questions or run into any problems, please post an [issue](https://github.com/redhat-developer/vscode-tekton/issues) - we'll be very happy to help. ## Build the extension snippets All templates are placed in yaml files in [rawsnippets](./rawsnippets). If you want to add/change snippets body, you need to edit proper `yaml` file in [rawsnippets](./rawsnippets). -Label and description for each snippet are placesd in [build-snippets.ts](build/build-snippets.ts) script. +Label and description for each snippet are placed in [build-snippets.ts](build/build-snippets.ts) script. To generate new snippet json, run: ```bash $ npm run snippets-build @@ -48,7 +48,7 @@ npm script from extension root. ## Generate new icons -If you want to change icons for PipelieRun, TaskRun or Condition, you may want to generate new state icons for failed and pending state. +If you want to change icons for PipelineRun, TaskRun or Condition, you may want to generate new state icons for failed and pending state. To do that run: ```bash $ npm run icon-build diff --git a/Jenkinsfile b/Jenkinsfile index 7f9b83c0..d8d60b56 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -46,7 +46,7 @@ node('rhel8'){ node('rhel8'){ if(publishToMarketPlace.equals('true')){ timeout(time:5, unit:'DAYS') { - input message:'Approve deployment?', submitter: 'degolovi,yvydolob,sverma' + input message:'Approve deployment?', submitter: 'degolovi,yvydolob,msuman' } stage ("Publish to Marketplace") { diff --git a/README.features.md b/README.features.md new file mode 100644 index 00000000..b2c7a5df --- /dev/null +++ b/README.features.md @@ -0,0 +1,77 @@ + +### Tekton Pipelines Tutorial + +To get started with Tekton and learn how to create and run a simple pipeline for building and deploying containerized app on Kubernetes/OpenShift, you can follow one of these tutorials: + +* [Tekton Pipelines Tutorial](https://github.com/tektoncd/pipeline/blob/master/docs/tutorial.md) +* [OpenShift Pipelines Tutorial](https://github.com/openshift/pipelines-tutorial) + +### 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 OpenShift/Kubernetes Cluster to use with the Extension + +To use the extension, developers can deploy Tekton Pipelines into [Red Hat OpenShift Local](https://developers.redhat.com/products/openshift-local/overview) or a `minikube` instance. + +#### Red Hat OpenShift Local + +- Red Hat OpenShift Local is the quickest way to get started building OpenShift clusters. It is designed to run on a local computer to simplify setup and testing, and to emulate the cloud development environment locally with all of the tools needed to develop container-based applications. Follow [this documentation](https://access.redhat.com/documentation/en-us/red_hat_openshift_local) to get it up and running. After cluster is started follow [these steps](https://github.com/openshift/pipelines-tutorial/#install-openshift-pipelines) 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](https://github.com/tektoncd/pipeline#want-to-start-using-pipelines). diff --git a/README.md b/README.md index b500aae0..7a4d5105 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@ -# Tekton Pipelines Extension tekton +# Tekton Pipelines -[![Visual Studio Marketplace](https://img.shields.io/visual-studio-marketplace/v/redhat.vscode-tekton-pipelines?style=for-the-badge&label=VS%20Marketplace&logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-tekton-pipelines) +[![Visual Studio Marketplace](https://img.shields.io/visual-studio-marketplace/v/redhat.vscode-tekton-pipelines?style=for-the-badge&label=VS%20Marketplace&logo=visual-studio-code&color=blue)](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-tekton-pipelines) +[![Downloads](https://img.shields.io/visual-studio-marketplace/d/redhat.vscode-tekton-pipelines?style=for-the-badge&color=purple)](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-tekton-pipelines) [![Build Status](https://img.shields.io/github/workflow/status/redhat-developer/vscode-tekton/CI?logo=github&style=for-the-badge)](https://github.com/redhat-developer/vscode-tekton/actions?query=workflow%3ACI) -[![Unit Tests Code Coverage](https://img.shields.io/codecov/c/github/redhat-developer/vscode-tekton?logo=codecov&style=for-the-badge)](https://codecov.io/gh/redhat-developer/vscode-tekton/branch/main/graph/badge.svg) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=for-the-badge)](https://github.com/redhat-developer/vscode-tekton/blob/main/LICENSE) -## Overview - Tekton Pipelines extension provides an end-to-end developer experience for interaction with [Tekton](https://tekton.dev/). Using this extension: @@ -19,98 +17,21 @@ Using this extension: * Tekton variables [code completion](#tekton-variables-code-completion). * Pipeline/PipelineRun [preview diagram](#pipelinerun-preview) -### 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](https://github.com/tektoncd/pipeline/blob/main/docs/migrating-v1alpha1-to-v1beta1.md) 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 +# Getting Started -
+### Features -### 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 OpenShift Local](https://developers.redhat.com/products/openshift-local/overview). - -#### Red Hat OpenShift Local - -Red Hat OpenShift Local is the quickest way to get started building OpenShift clusters. It is designed to run on a local computer to simplify setup and testing, and to emulate the cloud development environment locally with all of the tools needed to develop container-based applications. Follow [this documentation](https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.10/html/getting_started_guide/index) to get it up and running. After cluster is started follow [these steps](https://github.com/openshift/pipelines-tutorial/#install-openshift-pipelines) 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](https://github.com/tektoncd/pipeline#want-to-start-using-pipelines). +For more detail information around specific commands & features, please read the [plugin features](README.features.md) detailed guide. ### Tutorial -Follow Tekton Pipeline Extension [tutorial](TUTORIAL.md) inspired by [original tutorial](https://github.com/openshift/pipelines-tutorial) that uses OpenShift Developer Console, `tkn` and `oc` command line tools. - -### Commands and features +Follow Tekton Pipeline Extension [tutorial](TUTORIAL.md) inspired by [original tutorial](https://github.com/openshift/pipelines-tutorial) that uses `OpenShift Developer Console`, `tkn` and `oc` command line tools. -Development of the Tekton Pipelines Extension is largely following development of the [`tkn` CLI](https://github.com/tektoncd/cli) as well as [Tekton Pipelines](https://github.com/tektoncd/pipeline) which are both under active development and potentially subject to drastic changes. Please don't hesitate to open an [issue](issues) if you find a bug or something breaks unexpectedly. Pull Requests are always welcome--see the [CONTRIBUTING](CONTRIBUTING.md) section for details. +### Commands -`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 Pipelines extension 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. @@ -132,21 +53,19 @@ Development of the Tekton Pipelines Extension is largely following development o * `PipelineRun/TaskRun -> Delete` - Delete the selected PipelineRun/TaskRun * `PipelineRun -> Cancel` - Cancel the selected PipelineRun +### Icons Representation -#### 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
- +
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. @@ -154,49 +73,39 @@ Development of the Tekton Pipelines Extension is largely following development o * `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 +## Dependencies #### CLI Tools -This extension uses the [Tekton CLI](https://github.com/tektoncd/cli): `tkn` - -#### Extensions +- This extension uses the [Tekton CLI](https://github.com/tektoncd/cli): `tkn`. +- This extension is designed to work with Tekton Pipelines 0.11+. -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. +Note: 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](https://github.com/tektoncd/pipeline/blob/main/docs/migrating-v1alpha1-to-v1beta1.md) to migrate to `v1beta1`. ## Release notes See the [change log](CHANGELOG.md). -Nightly builds -============== - -## WARNING: Nightly builds are by definition unstable. Install at your own risk. +## Contributing -Nightly builds are published every 24 hours and available from this [location](https://download.jboss.org/jbosstools/adapters/snapshots/vscode-tekton/?C=M;O=D) 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](CONTRIBUTING.md). Download the most recent `tekton-pipelines-.vsix` file and install it by following the instructions [here](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix). -Feedback & Questions -==================== +## Feedback + If you discover an issue please file a bug and we will fix it as soon as possible. * File a bug in [GitHub Issues](https://github.com/redhat-developer/vscode-tekton/issues). -* Or contact us in [Tekton Slack](https://github.com/tektoncd/community/blob/main/contact.md#slack) `#ide-integration` channel +* Open a [Discussion on GitHub](https://github.com/redhat-developer/vscode-tekton/discussions). + +If you want to chat with us, you can contact us on the `#ide-integration` channel of the `tektoncd` Slack. Please click this [link](https://join.slack.com/t/tektoncd/shared_invite/enQtNjQ1NjQzNTQ3MDQwLTc5MWU4ODg3MGJiYjllZjlmMWI0YWFlMzJjMTkyZGEyMTFhYzY1ZTkzZGU0M2I3NGEyYjU2YzNhOTE4OWQyZTM) to join the `tektoncd` Slack. + +## License -License -======= MIT, See [LICENSE](LICENSE) for more information. ## Data and telemetry -The Red Hat Tekton Pipelines Extension for Visual Studio Code collects anonymous [usage data](USAGE_DATA.md) and sends it to Red Hat servers to help improve our products and services. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection) 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 +The Red Hat OpenShift Toolkit for Visual Studio Code collects anonymous [usage data](USAGE_DATA.md) and sends it to Red Hat servers to help improve our products and services. Read our [privacy statement](https://developers.redhat.com/article/tool-data-collection) 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 diff --git a/TUTORIAL.md b/TUTORIAL.md index 8a0bf6ee..77d588e7 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -13,9 +13,9 @@ The tutorial assumes you have: ## Configure Visual Studio Code and Install Required Extensions -For this tutorial you need to install required extensions from Visual Studio Code marketplace: +For this tutorial you need to install required extensions from Visual Studio Code Marketplace: * Tekton Pipelines - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-tekton-pipelines -* OpenSift Connector - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-openshift-connector +* OpenShift Connector - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-openshift-connector ## OpenShift and Tekton Task Catalogs Git Repositories @@ -27,9 +27,10 @@ in this tutorial you are going to use two github repositories: ### Pipelines Tutorial Git Repository You will use resources from original tutorial repository to deploy your application on the cluster: -* Pipeline Tutorial - https://github.com/openshift/pipelines-tutorial +* OpenShift Pipeline Tutorial - https://github.com/openshift/pipelines-tutorial +* Tekton Pipelines Tutorial - https://github.com/tektoncd/pipeline/blob/master/docs/tutorial.md -## Let's get started +## Demo Video [![](http://img.youtube.com/vi/gte70CuQXbM/0.jpg)](http://www.youtube.com/watch?v=gte70CuQXbM "") diff --git a/package.json b/package.json index 27944b91..711368b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vscode-tekton-pipelines", "displayName": "Tekton Pipelines", - "description": "Tekton Pipelines extension by Red Hat", + "description": "Cloud Native CI/CD using Tekton Pipelines", "version": "1.1.0", "license": "MIT", "publisher": "redhat", @@ -24,7 +24,8 @@ "Tekton", "k8s", "kubernetes", - "openshift" + "openshift", + "ci/cd" ], "icon": "images/tekton.png", "activationEvents": [