Recent Enhancements and Bug Fixes
Screwdriver Team from Verizon Media
UI
- Bugfix: Artifacts images are now displayed correctly in Firefox browser
- Feature: Deep linking to an artifact for a specific build You can now share a link directly to an artifact, for example: https://cd.screwdriver.cd/pipelines/3709/builds/168862/artifacts/artifacts/dog.jpeg
- Enhancement: Can override Freeze Window to start a build.
Previously, users could not start builds during a freeze window unless they made changes to the freeze window setting in the screwdriver.yaml configuration. Now, you can start a build by entering a reason in the confirmation modal. This can be useful for users needing to push out an urgent patch or hotfix during a freeze window.
Store
- Feature: Build cache now supports local disk-based cache in addition to S3 cache.
Queue Worker
- Bugfix: Periodic build timeout check
- Enhancement: Prevent re-enqueue of builds from same event.
Compatibility List
In order to have these improvements, you will need these minimum versions:
- UI – v1.0.479
- API – v0.5.835
- Store – v3.10.3
- Launcher – v6.0.42
- Queue-Worker – v2.9.0
Contributors
Thanks to the following contributors for making this feature possible:
Questions and Suggestions
We’d love to hear from you. If you have any questions, please feel free to reach out here. You can also visit us on Github and Slack.
Part 2 from the Screwdriver Team at Verizon Media
UI
- Enhancement: Upgrade to node.js v12.
- Enhancement: Users can now link to custom test & coverage URL via metadata.
- Enhancement: Reduce number of API calls to fetch active build logs.
- Enhancement: Display proper title for Commands and Templates pages.
- Bug fix: Hide “My Pipelines” from Add to collection dialogue.
- Enhancement: Display usage stats for a template.
API
- Enhancement: Upgrade to node.js v12.
- Enhancement: Reduce DB Size by removing steps column from builds.
- Enhancement: New API to display usage metrics of a template.
- Bug fix: Restarting builds multiple times now carries over proper context.
Store
- Enhancement: Upgrade to node.js v12.
- Enhancement: Support for private AWS S3 buckets.
Compatibility List
In order to have these improvements, you will need these minimum versions:
- UI – v1.0.491
- API – v0.5.851
- Store – v3.10.5
Questions and Suggestions
We’d love to hear from you. If you have any questions, please feel free to reach out here. You can also visit us on Github and Slack.
Screwdriver now has the ability to cache and restore files and directories from your builds to either s3 or disk-based storage. Rest all features related to the cache feature remains the same, only a new storage option is added. Please DO NOT USE this cache feature to store any SENSITIVE data or information.
The graph below is our Internal Screwdriver instance build-cache comparison between disk-based strategy vs aws s3.
Build cache – get cache – (disk strategy)
Build cache – get cache – (s3)
Build cache – set cache – (disk strategy)
Build cache – set cache – (s3)
Why disk-based strategy?
Based on the cache analysis, 1. The majority of time was spent pushing data from build to s3, 2. At times the cache push fails if the cache size is big (ex: >1gb). So, simplified the storage part by using a disk cache strategy and using filer/storage mount as a disk option. Each cluster will have its own filer/storage disk mount.
NOTE: When a cluster becomes unavailable and if the requested cache is not available in the new cluster, the cache will be rebuilt once as part of the build.
Cache Size:
Max size limit per cache is configurable by Cluster admins.
Retention policy:
Cluster admins are responsible to enforce retention policy.
Cluster Admins:
Screwdriver cluster-admin has the ability to specify the cache storage strategy along with other options like compression, md5 check, cache max limit in MB
Reference:
- https://github.com/screwdriver-cd/screwdriver/blob/master/config/default.yaml#L280
- https://github.com/screwdriver-cd/executor-k8s-vm/blob/master/index.js#L336
- Issue: https://github.com/screwdriver-cd/screwdriver/issues/1830
Compatibility List:
In order to use this feature, you will need these minimum versions:
Contributors:
Thanks to the following people for making this feature possible:
Screwdriver is an open-source build automation platform designed for Continuous Delivery. It is built (and used) by Yahoo. Don’t hesitate to reach out if you have questions or would like to contribute: http://docs.screwdriver.cd/about/support.
Kim Lewandowski, Governing Board chair of the Continuous Development Foundation, outlines how the CI/CD group got started and where it’s going.
“…The foundation has both a Technical Oversight Committee and a Governing Board to manage the organization. Google’s Kim Lewandowski currently serves as the Governing Board chair for the CDF, helping to lead the organization and set direction. In an interview with ITPro Today, Lewandowski shares her views on the current state of the DevOps landscape and outlines where the CDF is headed in the months ahead.”
By James Strachan, Co-founder of Jenkins X and Distinguished Engineer, CloudBees
This is a contributed blog from co-founder of Jenkins X on the project becoming apart of CDF. Originally published on the Jenkins X Blog.
We are thrilled to announce that Jenkins X will be joining the Continuous Delivery Foundation as one of the founding projects. The Continuous Delivery Foundation (CDF) is a brand new sub-foundation of the Linux Foundation and will be dedicated to advancing the practice of continuous delivery and nurturing an ecosystem of interoperable tools for software delivery.
Jenkins X is just over a year old but has been growing rapidly as the CI/CD solution for modern cloud applications on Kubernetes. Jenkins X automates CI+CD for Kubernetes using the best of breed OSS tools such as Jenkins, Tekton, Prow, Skaffold, Kaniko and Helm. The CDF will be a sibling foundation to the Cloud Native Computing Foundation (CNCF) which hosts Kubernetes amongst others. CDF will have its first event, CDF Summit, on May 20th alongside KubeCon Barcelona. We always love to work closely with other communities, and this will continue at scale within the CDF.
“I’m really excited to see the formation of the CDF – it’s starting with some of the most popular best-of-breed open source tools in the CI/CD space,” said James Strachan, co-founder of Jenkins X and distinguished engineer, CloudBees. “I’m looking forward to increased collaboration between us all to help accelerate the open source CI/CD landscape.”
Jenkins X started life under the Jenkins umbrella. In CDF, Jenkins X will be a distinct project from Jenkins which means some changes, such as having a Jenkins X Technical Steering Committee. These changes will happen gradually as we transition to CDF over the coming weeks. Normal development work will continue as usual.
We are excited about all the new possibilities that being part of the CDF will bring. We look forward to new initiatives and welcoming everybody to get involved with the project.