Released: November 19, 2020
Requires Artifactory 7.11 or newer.
Pipelines 1.9.3 is Available as a Cloud Version
The JFrog Pipelines 1.9.3 release is available as a Cloud version and will be available for on-premise shortly.
Pipelines templates now enable users to define templates for pipeline definitions and use these templates while creating pipelines. An example template for building and pushing docker images to Artifactory is included with this version.
A Matrix step can now be configured such that each steplet runs on its own build node in the same node pool.
Support for Insecure Registries for Dynamic Nodes
At the node pool level, users can specify a comma-separated list of allowed insecure docker registries.
Support for External Vault
Pipelines installer can now be configured to use an external Vault.
Access to Resources between different types of branches
Resources between different types of branches are now accessible to each other:
- Resources in single branch pipelines are accessible in multibranch pipelines.
- Resources in multibranch pipelines are accessible in single branch pipelines.
- Resources in multibranch pipelines are accessible across branches.
Show when a Node was last initialized
The Node Pool page now includes a column to show when a node was last initialized.
Set custom values for build name and build number when used in Native steps
Earlier versions of Pipelines did not allow customization of
buildNumber for a BuildInfo resource, when used as an outputResource in Native steps like NpmPublish, DockerPush, etc. With this release, you can set the
JFROG_CLI_BUILD_NUMBER environment variables in the NpmBuild, DockerBuild, or similar build steps, which will be used to set the
buildNumber. The resource definition for BuildInfo has been updated to make
Available Parallel Builds and other enhancements
The Node Pools page has been enhanced to show the following:
- Total number of concurrent builds available (based on license).
- Total number of concurrent builds that are currently executing across all node pools.
Additionally, the following information is available at a node pool level:
- Max limit, which is the maximum number of nodes that can be provisioned in the node pool.
- Nodes provisioned, which is the number of nodes currently provisioned in the pool. Note that some of these nodes might be idle.
- Nodes in use, which is the number of nodes currently processing a step.
Signing key passphrase support for signing release bundles
An optional new field called
Signing key passphrase has been added to the Distribution integration, which allows the user to securely set the signing key passphrase for a release bundle.
Pipelines extensions improvements
Users can now view extension documentation in the UI.
Support for PostgreSQL 12.3 and RabbitMQ 3.8.3
Pipelines installer now installs PostgreSQL 12.3 and RabbitMQ 3.8.3.
New runtime images added for Go 1.14 and 1.15
We released new images that will be used as default images when a user specifies Go 1.14 or 1.15 as the language and version in their pipelines yaml configuration.
- Fixed an issue, where users were not able to add a pipeline source, when trailing slash was present in Bitbucket Server integration URL.
- Fixed an issue, where canceling a Jenkins step did not work for multibranch Jenkins pipelines.
- Fixed an issue, where the first run of a Jenkins step would trigger a multibranch Jenkins pipeline without parameters, causing the step to fail.
- Fixed an issue, where syncing a pipeline was failing if a Jenkins step's branch name contained a slash.
- Fixed an issue, where node pools list default badge was cut off for long names.
- Fixed an issue, where the user was prevented from saving changes to node pool configuration unless specific fields on the Edit node pool page were edited.
Released: September 8, 2020
Requires Artifactory 7.8.0 or newer.
New Extensions Source Format and Version Identification (Breaking Change)
The required format for Pipelines Extensions source repositories has changed to accommodate redesign of version management.
Improved control over execution logic of parent and child pipelines
Pipeline DSL can set a
dependencyMode parameter and
chronological flag so that a pipeline will not execute until its parent pipeline is in a known state of completion. These configuration options help ensure that the resources used by the pipeline are in a steady state that will not be overwritten by another pipeline or run.
Skip build on commit
A developer can now override an automatic pipeline trigger on commit by including the text
[skipRun] in a commit message.
Cancel previous runs on commit
A GitRepo resource now recognizes optional configuration of a
cancelPendingRunsOn event, to automatically cancel any queued or in-progress run that was triggered by the same GitRepo resource.
Skip Downstream When Resource not Updated
Resources may now be optionally configured through a
newVersionOnly flag to trigger only when an input resource has been updated by the prior step or pipeline.
- Fixed an issue where steps were occasionally stuck in Queued state when executing on a dynamic node pool
- Fixed an issue where custom images could not be pulled when executing on a Kubernetes node pool
- Fixed an issue where the My Pipelines page sometimes showed a list of pipelines for a previously logged in user
- Fixed an issue where secure fields in the GET /hooks route were not filtered in the response
- Fixed an issue where steps could get stuck if they were configured to run in parallel and were configured with
- Fixed several validation issues on Integrations pages
- Fixed an issue where Active Runs page did not show Context and other information for some runs
- Fixed an issue where static nodes did not go to Failed state in some cases
Released: October 12, 2020
- Fixed a security issue by ensuring the API /pipelines/:pipelineId/latestState returns a token with user-level permissions.
- Fixed an issue to ensure builds schedule without delays on Kubernetes deployments in heavy loads.
- Fixed an issue where PostgreSQL healthchecks were timing out on Azure due to delayed response.
Released: November 19, 2020
- Fixed a security vulnerability where unauthenticated path traversal could lead to sensitive data exposure.
Released: July 30, 2020
Requires Artifactory 7.7.0 or newer.
Resource Manager Permissions
Users and groups that have been granted Manage Resources permissions can create/edit/delete Pipeline Sources, Integrations, and Node Pools.
Helm 3 support
UI Performance Improvements
Customers will experience improved performance while switching between different Pipelines UI pages
Linting support added to HelmPublish step
Customers can use the lint and lintFlags tags to check for issues with the chart that will be published.
Timestamps for downloaded logs
Downloaded logs now show timestamps for easier debugging.
Updated build images
All runtime images have been updated with latest release versions of tools. The following new images were added:
- Fixed several UI validation issues while adding/editing node pools
- Fixed an issue where integration secrets were sent in clear text when an API was called with an admin token
- Fixed an issue where user-agent for BuildInfo created by Pipelines native steps was set incorrectly
- Improved resiliency with more elegant handling of message queue outages
- Fixed an issue where websockets were not working for Matrix steplets
- Fixed an issue where resource deletion did not work as expected if the resource had 100+ versions
- Fixed validation and error handling for the RemoteFile resource to prevent static properties like fileName and fileLocation from being changed after resource creation.
- Fixed an issue where multiple webhooks were being created for pipeline sources in the source control provider in some cases
- Fixed an issue where Postgres image was pulled during installation, even when customer wanted to use an external database
- Fixed an issue where build plane images for a SaaS installation were not filtered by the relevant region.
- Fixed an issue where Run with custom configuration did not work when the step had an IncomingWebhook inputResource
- Fixed an issue where values for inputs for Run with custom configuration were hidden in the UI
- Fixed an issue where helm chart was not included in the release bundle created with the CreateReleaseBundle native step, when a promoted BulldInfo and a non-promoted BuildInfo pointing to the published Helm chart are provided as inputs
- Fixed an issue where Pipelines health checks were failing for Vault versions 1.3.4+
- Fixed an issue where Copy button wasn't working on the Add Node page, preventing customers from easily copying ssh access scripts to clipboard.
- Fixed an issue where keys and values were reversed while displaying the context menu for a PropertyBag resource in Pipeline and Run visualizations
- Fixed an issue where Pipelines installation using Helm failed if jfrogUrlUI configuration had a trailing slash
- Fixed an issue where a Pipeline source could not be added if the branch names was less than or equal to 3 characters long
- Fixed an issue where stopped.failed Kubernetes nodes continued to be displayed in the Node Pools UI
Released: July 30, 2020
- Fixed an issue where upgrades can fail
- Fixed an issue where branches on a pipelines instance and bitbucket server could become out of sync
Released: August 11, 2020
- Resolves an issue with buildplane image caching when using a Kubernetes node pool
Released: June 29, 2020
Requires Artifactory 7.6.0 or newer.
My Pipelines UX Changes
- Added for all JFrog Platform users the ability to mark pipelines as personal "favorites" to filter display to only the set of pipelines of interest.
- Multibranch pipelines are now presented in an expandable/collapsible row for individual branch status.
Dynamic Node Pools with Kubernetes
Added features that enable extending the Pipelines DSL with user-defined steps and resources. This includes addition of a Pipelines | Extensions tab to add source repositories as extension sources and manage extension lifecycles.
A new Jenkins Server Integration and Jenkins native step have been added to enable initiation of and return from a Jenkins build within a pipeline. The earlier Jenkins integration and methods will still function where used, but have been deprecated.
- Fixed an issue where default docker logging was taking up too much space on the machine where Pipelines was installed
- Fixed an issue where adding or saving an integration did not redirect to Integrations list page
- Fixed an issue where triggering more than 100 runs together was causing unexpected errors
- Fixed several UI issues where optional fields were treated as required
- Added virtual scroll capability to My Pipelines and Pipeline Sources lists
Released: June 29, 2020
Fixed an issue where a force push under certain conditions caused a pipeline trigger to fail.
Released: July 6, 2020
Requires Artifactory 7.6.3 or newer.
Fixed an issue where triggering a run with custom configuration was not working
Fixed an issue where a link from node page to a run was incorrect
Fixed an issue where Extension sync was not started when Helm installation is used
Fixed an issue where Integration pages did not load for Pipelines Cloud customers
Fixed an issue where Pipelines Cloud users could not add an admin level integration for source control provider
Released: June 1, 2020
Added PropertyBag Resource
A new PropertyBag resource type enables passing of properties between steps.
Dynamic Node Pools for Windows Server on AWS
With this version, Pipelines supports dynamic node pools running Windows Server build nodes on Amazon Web Services.
Dynamic Node Pools for Windows Server on Azure
With this version, Pipelines supports dynamic node pools running Windows Server build nodes on Microsoft Azure.
The ability to reset a resource has been added to the UI of the interactive diagram, enabling a user to correct a resource that is in an invalid state. For example, when a source repository invalidates the SHA that is used by a GitRepo resource.
With this version, Pipelines now supports PostgreSQL versions 10.5 and 11.5 when used as an external database in a custom install. For standard installation, PostgreSQL v9.5 is installed.
- Fixed an issue where the Save button on Dynamic node pool configuration page was not being enabled unless users clicked inside some input boxes
- Fixed issues with incompatible JSON for Call Home feature
- Added documentation for the restart command, which helps restart Pipelines services
- Fixed an issue where installation failed with a package conflict error if the machine already had a later version of libpcap pre-installed
- Fixed an issue where status of a Powershell step shows error if a custom runtime image is not found
- Fixed an issue where upgrading to a later Pipelines version did not automatically provide access to new runtime images
- Fixed an issue where user was unable to update timeout setting for a node pool to an empty value, which would enforce the default timeout value of 3600 seconds
- Fixed an issue where Save button was enabled while configuring dynamic node pools, even when a build plane image wasn't selected
- Fixed an issue where for multibranch pipelines, when the branch name included a '/' , the link from the build status in Bitbucket back to the pipeline run that reported it is broken.
- Fixed an issue where logs weren't available for steps that hadn't run for a long time
- Fixed an issue where manual step execution with custom parameters failed with an error in some scenarios
- Fixed an issue where utility functions did not correctly handle pipeline and run variables with spaces
- Fixed an issue with installation using non-default JFROG_HOME setting
- Fixed an issue where core Pipelines services could not gracefully recover from a RabbitMQ restart in some scenarios
- Fixed several issues for pipelines using Bitbucket Server repositories as a gitRepo resource or pipeline source
Released: June 1, 2020
- Fixed an issue where Pipelines core services were unable to communicate with the message queue when there was a mismatch in SSL certificates
Released: July 10, 2020
- Fixed an issue that prevented running dynamic nodes on Azure
Released: April 14, 2020
Windows Server VM Support
With this version, Pipelines supports node pools of Windows Server build nodes, and provides Windows runtime images.
RHEL7 Platform Support
With this version, Pipelines has been validated to operate on RHEL 7.
RHEL7 Support for Static Nodes
With this version, Pipelines supports RHEL7 static node pools.
To support execution in Windows Server runtimes, a Powershell generic step has been added to the DSL for Windows Powershell scripts.
Dynamic Node Pools on GCP
With this version, Pipelines supports dynamic node pools running build nodes on Google Cloud Platform.
Dynamic Node Pools on Azure
With this version, Pipelines supports dynamic node pools running build nodes on Microsoft Azure.
Additional option to fail a build if Xray scan fails
The failOnScan flag was added to the following step definitions: XrayScan, DockerPush, GoPublishBinary, GoPublishModule, GradleBuild, MvnBuild, NpmPublish, and PublishBuildInfo. When true, the step fails when the scan fails, and when false, the step status is unaffected by scan results. Default is true.
- Improved efficiency of save_tests utility function - users can now provide blobs in addition to just directories and files, so the saved data is smaller.
- Fixed an issue with curl command used inside Native Steps, which caused failures with certificates.
- Fixed an issue with region tag being used for custom runtime images.
- Node limits are now respected for Static node pools.
- Fixed an issue with nodePool tag not being respected when specified at a pipeline level.
- Add automatic login for Azure when integration is supplied as input to a step.
- Fixed an issue with DockerPush native step not publishing the correct BuildInfo.
- GET v1/projectIntegrations no longer returns tokens and credentials in clear text.
Released: April 21, 2020
- Fixed an issue around RHEL7 node initialization
- Fix for potential health-check timeout
Released: February 23, 2020
- Jira integration now supports both v2 and v3 Jira API. The Jira Integration URL setting now requires the base URL of Jira only, not the API endpoint.
- Test reports stored by
save_testsmay now be of any size (size limitation was removed).
- Updated JFrog CLI version to 1.33.2 in all runtime images.
- Added a new REST API to return system info.
- User Interface improvements for usability and fixes.
- Fixed an issue whereby the
pullRequestCreatetrigger in a GitRepo resource was not recognized for a GitLab integration.
- Fixed an issue whereby cleanup of a deleted pipeline source failed to delete child GitRepo webhooks.
Released: March 3, 2020
- Fixed an issue with the CreateReleaseBundle Step that causes a failure in creating a new release bundle.
- Fixed an issue with the SignReleaseBundle Step that causes a failure in signing a release bundle.
Released: March 6, 2020
- Fixed a potential memory leak issue
Released: January 12, 2020
Announcing the new JFrog Platform, designed to provide developers and administrators with a seamless DevOps experience across all JFrog products, supporting the following main features:
- Universal package management with all major packaging formats, build tools, and CI servers.
- Security and Compliance that's fully integrated into the JFrog Platform, providing full trust of your pipeline from code to production.
- Radically simplified administration with all configurations in one place.
- Complete trust in your pipeline all the way from code to production.
- Seamless DevOps experience from on-prem, cloud, hybrid or multi-cloud of your choice.
Get started with the JFrog Platform and learn about new features and functionalities here.
This release introduces a new system configuration file, allowing system configurations to be handled externally to the application, before/after the installation process. Learn More >
Fine grained security
JFrog Pipelines now works with the unified permission model to allow you to define fine grained permissions on Pipeline sources. Admins can also control which integrations and node pools are available for each pipeline source. Depending on the user's permission for pipeline sources, they can view appropriate integrations and node pools.
To enable implementing Gitflow based workflows, JFrog Pipelines now supports multi-branch pipelines. Defining a multi-branch pipeline source enables JFrog Pipelines to monitor all the branches of pipeline source Git repository and trigger the respective pipeline in that branch.
Admins can provide AWS credentials to bring up nodes dynamically on AWS for use in a node pool and automatically tear them down after step execution is completed.
New installation types
JFrog Pipelines now supports Kubernetes, RPM and Debian installation types for the core services.