Release Notes for OpenShift Pipelines 0.10 Developer Preview
OpenShift Pipelines provides a cloud-native CI/CD experience based on the Tekton project. It has the following salient features:
-
Standard Kubernetes-native pipeline definitions (CRDs)
-
Serverless pipelines with no CI server management overhead
-
Extensibility to build images using any K8s tool, such as S2I, Buildah, JIB, or Kaniko.
-
Portability across all Kubernetes distributions
-
Powerful CLI for interacting with pipelines
-
Improved user experience through tight integration with OpenShift Developer Console
For an in-depth walk-through of OpenShift Pipelines, follow this tutorial to build your first cloud-native pipeline. Visit OpenShift Pipelines documentation to learn more about OpenShift Pipelines.
Notable Features
In addition to the fixes and stability improvements, here is a highlight of the new features in OpenShift Pipelines 0.10:
-
Triggers v 0.2.1: Support added for multiple
triggerbindings
, user configurableinterceptors
,jsonpath
intriggerbindings
, labeling generated resources and dynamic client for custom resources ineventlistener
. -
Pipeline Templates: Adds pipeline templates that are available to a user for reuse through the +Add flows in the Developer perspective of the OpenShift web console.
-
Script Enhancements: Multiple enhancements made to the script mode when defining task steps:
-
Task steps in the script mode no longer need to specify a shebang line. Scripts that do not start with shebang, by default, will have a value of
#!/bin/sh
-
Support for arguments in the script mode
-
Support for script mode in Conditions
-
Script mode now inserts
set -xe
to scripts that do not include a shebang#!
.
-
-
Support for workspace in
Task
,TaskRun
,Pipeline
andPipelineRun
to simplify sharing files between tasks in a pipeline -
Enhancements to
PipelineResource
to support unused resources. -
Support for
taskSpec
withpipelineSpec
to support embedding tasks inside a pipeline -
Task spec now supports results and handles all changes in the entrypoint code.
-
Support for
from
in Pipeline Conditions. Resources in Pipeline Conditions can now declare that they depend on the output of previous tasks using thefrom
clause -
Support for
sslverify
flag for Pipeline Resource of typegit
-
A description field is now added to
ResourceDeclaration
. -
The default
app.kubernetes.io/managed-by
label value is now configurable in a ConfigMap -
Support for GitLab on the PR resource.
Getting support
Product
To report a bug, or to suggest new features and enhancements, file an issue in the GitHub Project. Include as many details as possible in the description of the issue.
Documentation
If you find an error or have suggestions for improving the documentation, report an issue in pipelines documentation repository.
Getting in touch with the product team
For questions and feedback subscribe to the pipelines-interest@redhat.com mailing list or join the #openshift-pipelines channel on Tekton Slack.
Deprecated Features
The following items are deprecated in 0.8.0, and will be removed in the next release:
-
EventListenerTrigger.interceptor
is now deprecated. Useinterceptors
instead. -
EventListenerTrigger.binding
is now deprecated. Usebindings
instead. -
status
field is now removed fromPipeline
andPipelineResource
. This field will stay in thev1alpha1
version, however it will be removed in the next API version. -
.status.podName
field is now deprecated and should not be used for finding the pod associated withTaskRun
. Use label selectors to identify Tekton owned pods.
Fixed Issues
Tekton Fixed Issues
-
#1756: Previously, an error was observed when a pipeline was run on a service account with a long secret name. With this bug fix, the length of volumes generated from secret names is now restricted.
-
#1675: In the previous release, any resolved digests would get appended to the input image name, which resulted in invalid duplicate digests when the input was specified by the digest. This change uses
ref.context()
, which omits the digest and appends the resolved digest to the end of the image name. -
#1688: Before this change, sidecars that are injected into the Pod by external Mutating Admission Controllers would not always be ready before the first step started, and would not stop when steps finish. With this fix, pipelines look for any non-step container which indicates the presence of a sidecar container, when waiting for or stopping sidecars.
-
#1693: Previously, PullRequest PipelineResource read the
scm.PR.Head.Sha
incorrectly, causing it to fail when adding a comment on the PR. This fix sets thescm.PR.Sha
toscm.PR.Head.Sha
when loading from disk. -
#1812: Previously, a task was marked as successful even when it was killed by the controller. With this fix, the task is marked as failed.
-
#1813: A fix is added to correctly pass the
-submodules
flag to thegit-init
module. -
#1722: Previously, the start time for all the steps in a task was reported to be the same as the start time for the first step. This has now changed to report the actual start time of the step, in accordance with the defined sequence in which the steps are executed in a task.
-
#1863: Previously, Gitlab status upload used to fail with a missing commit error when using
pipelineresource
of typepullrequest
. With this bug fix, the data is preloaded into theresource.PullRequest
used in theFromDisk
method. -
#1907: Previously, the task used to get stuck in the
pending
mode for errorCreateContainerConfigError
. With this fix, the task is set to afailed
state wheneverCreateContainerConfigError
error is encountered. -
#1884:
oc delete all --all
does not delete clustertasks anymore