Commit 07ab95e0 authored by Rebecca Dodd's avatar Rebecca Dodd

Copy edits

parent 4d27941c
Pipeline #29645904 passed with stages
in 32 minutes and 44 seconds
......@@ -5,53 +5,53 @@ author_gitlab: suripatel
author_twitter: gitlab
categories: culture
image_title: '/images/blogimages/gitlabreading.jpg'
description: "GitLab team members are a passionate group of learners who enjoy
description: "GitLabbers are a passionate group of learners who enjoy
reading to strengthen their skills, develop new techniques, and enhance their knowledge."
tags: inside GitLab
ee_cta: false
ee_cta: false
install_cta: false
twitter_text: "What the GitLab team is currently reading"
---
At GitLab, we :heart: reading. Here are a few of our recent pageturners.
At GitLab, we ❤️ reading. Here are a few of our recent pageturners.
### How Rust’s standard library was vulnerable for years and nobody noticed
[Nick Thomas](/team/#nick.thomas), Staff Developer, enjoyed
[Nick Thomas](/team/#nick.thomas), Staff Developer, enjoyed
[this article](https://medium.com/@shnatsel/how-rusts-standard-library-was-vulnerable-for-years-and-nobody-noticed-aebf0503c3d6)
on Rust, a new systems programming language. Nick commented, "It was very
interesting from a general-security point of view, especially the
"everything is broken" and "here is how security advisories actually work" bits."
on Rust, a new systems programming language. Nick commented, "It was very
interesting from a general-security point of view, especially the
'everything is broken' and 'here is how security advisories actually work' bits."
### Designing Delivery: Rethinking IT in the Digital Service Economy
[Kristie McGoldrick](/team/#Krist_McG), Solutions Architect, has been devouring
[this book](https://www.amazon.com/Designing-Delivery-Rethinking-Digital-Service/dp/1491949880/ref=mt_paperback?_encoding=UTF8&me=&qid=),
[Kristie McGoldrick](/team/#Krist_McG), Solutions Architect, has been devouring
[this book](https://www.amazon.com/Designing-Delivery-Rethinking-Digital-Service/dp/1491949880/ref=mt_paperback?_encoding=UTF8&me=&qid=),
finding it "very applicable to GitLab."
### It's The Future
[Lin Jen-Shin](/team/#godfat), Developer, fondly reflects on
[this CircleCI blog post](https://circleci.com/blog/its-the-future/), saying
"I think I'll remember this post forever. One person is trying to persuade
a teammate, who just wants to get things done right now, to use future technology.
The future tech is not mature enough to get things done easily, so it
### It's the Future
[Lin Jen-Shin](/team/#godfat), Developer, fondly reflects on
[this CircleCI blog post](https://circleci.com/blog/its-the-future/), saying
"I think I'll remember this post forever. One person is trying to persuade
a teammate, who just wants to get things done right now, to use future technology.
The future tech is not mature enough to get things done easily, so it
overcomplicates a lot of things, and the teammate just wants something simple. It's
pretty technical, but it's funny! That future tech is getting closer to becoming
mature now, and GitLab is trying to use Kubernetes and collaborating with Google
mature now, and GitLab is trying to use Kubernetes and collaborating with Google
to make this tech better."
### The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
[Rebecca Dodd](/team/#rebecca), Content Editor, recently read
[The Phoenix Project](https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262509)
and confidently declared that, "I think we’ve
all read the Phoenix Project."
[Rebecca Dodd](/team/#rebecca), Content Editor, recently read
["The Phoenix Project"](https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262509)
and confidently declared that, "I think we’ve
all read 'The Phoenix Project.'"
### The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
[Mike Miranda](/team/#zmikemiranda), Sales Development Representative, just
picked up [The DevOps Handbook](https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations-ebook/dp/B01M9ASFQ3/)
[Mike Miranda](/team/#zmikemiranda), Sales Development Representative, just
picked up ["The DevOps Handbook"](https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations-ebook/dp/B01M9ASFQ3/)
to understand the needs of IT leaders.
----
[Cover image](https://unsplash.com/photos/mbKApJz6RSU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) by [Radu Marcusu](https://unsplash.com/@radu_marcusu), licensed
under [CC X](https://unsplash.com/license).
{: .note}
\ No newline at end of file
{: .note}
......@@ -19,7 +19,7 @@ The structure of this article is based on the items mentioned in the Jenkins ann
## Extensible
The governance, culture, and distribution mechanism of Jenkins and GitLab are comparable; both of them open core projects with a dominant company.
By the way, the proprietary version CloudBees Jenkins Enterprise is now known as CloudBees Core, for most open core projects the core is the open source part.
By the way, the proprietary version CloudBees Jenkins Enterprise is now known as CloudBees Core; for most open core projects the core is the open source part.
## General purpose
......@@ -28,7 +28,7 @@ Both Jenkins and GitLab CI can be used for many tasks and can build on many oper
## Community
Jenkins has 519 contributors to its source code, but many people contribute via plugins that are not in core.
GitLab has 2000+ contributors overall but only part of them contribute to CI.
GitLab has 2,000+ contributors overall, but only part of them contribute to CI.
## Service instability
......@@ -41,12 +41,12 @@ The article doesn't mention how Cloud Native Jenkins or Jenkins Evergreen addres
Legacy Jenkins can easily break if you install or upgrade a plugin.
GitLab CI has all functionality as part of its main code base, ensuring everything is tested before it is shipped to customers.
Jenkins Evergreen will come with essential plugins as part of the [distribution](https://github.com/jenkinsci/jep/blob/master/jep/300/README.adoc#automatically-updated-distribution).
The article doesn't mention how Cloud Native Jenkins addresses the problem, maybe it doesn't allow plugins.
The article doesn't mention how Cloud Native Jenkins addresses the problem; maybe it doesn't allow plugins.
## Assembly required
Legacy Jenkins doesn't work out of the box because too many choices are confusing users.
GitLab CI and GitLab are [based on convention over configuration](https://about.gitlab.com/handbook/product/#convention-over-configuration) where we prefer choices that are well thought out and based on current best practices and avoid unnecessary configuration.
GitLab CI and GitLab are [based on convention over configuration](/handbook/product/#convention-over-configuration), where we prefer choices that are well thought out and based on current best practices and avoid unnecessary configuration.
Cloud Native Jenkins redesigns Jenkins from the ground up on simpler primitives.
Jenkins Evergreen still uses the same plugins so it would be harder to simplify, but maybe by selecting a set of blessed essential plugins, you can make them work better together because they can assume the other plugin is installed.
......@@ -65,9 +65,9 @@ Jenkins Evergreen has an [automatically updated distribution](https://github.com
This is part of Cloud Native Jenkins only, not of Legacy Jenkins or Jenkins Evergreen.
1. Serverless / function-as-a-service build execution (à la Jenkinsfile runner) that are isolated. => [GitLab CI Runner](https://docs.gitlab.com/runner/) already allows for isolated build execution. We're discussing [introducing a Lambda based serverless runner](https://gitlab.com/gitlab-org/gitlab-runner/issues/3128).
1. Serverless / function-as-a-service build execution (à la Jenkinsfile runner) that are isolated. => [GitLab CI Runner](https://docs.gitlab.com/runner/) already allows for isolated build execution. We're discussing [introducing a Lambda-based serverless runner](https://gitlab.com/gitlab-org/gitlab-runner/issues/3128).
1. Various pieces of functionalities deployed as separate microservices. => GitLab is mostly a Rails monolith with [parts that require high performance as separate Go microservices](https://docs.gitlab.com/ee/development/architecture.html#components).
1. Services interacting through [Kubernetes CRDs](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) in order to promote better reuse and composability. => This is something currently not in GitLab, but we're keeping a close eye on this. We're open to suggestions on how to best do this. GitLab does have extensive [Kubernetes integrations](https://about.gitlab.com/kubernetes/).
1. Services interacting through [Kubernetes CRDs](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) in order to promote better reuse and composability. => This is something currently not in GitLab, but we're keeping a close eye on this. We're open to suggestions on how to best do this. GitLab does have extensive [Kubernetes integrations](/kubernetes/).
## New extensibility mechanism
......@@ -75,11 +75,11 @@ This means using something like [Knative builder](https://github.com/knative/doc
This is proposed to be part of Cloud Native Jenkins only, not of Legacy Jenkins or Jenkins Evergreen.
At GitLab, we're following the Knative news, for example [scale to zero is something we want to use for our review apps](https://gitlab.com/gitlab-org/gitlab-ee/issues/3585#note_90052063), and if Knative build becomes popular, we'll certainly consider supporting it.
## Data on cloud managed data services
## Data on cloud-managed data services
This is part of Cloud Native Jenkins only, not of Legacy Jenkins or Jenkins Evergreen.
GitLab CI already supports storing everything in object storage and a database, not using file storage at all.
GitLab itself still needs file storage for the git repositories, since some git commands require block access.
GitLab itself still needs file storage for the Git repositories, since some Git commands require block access.
## Configuration as code
......@@ -91,8 +91,8 @@ With Jenkins you can have some project configuration as part of a [Jenkinsfile](
The [Jenkins Remoting Layer](https://github.com/jenkinsci/remoting#jenkins-remoting-layer) that handles communication between the orchestrator and the agent is "inherently prone to security vulnerabilities because of their design."
With GitLab CI, we run every build on a remote agent from the start of the project, having this as the default and only way helps keep the design elegant.
We do find that CI has been responsible for an above average share of our security patches.
So far, everyone has [responsibly disclosed](https://about.gitlab.com/disclosure/) these for which we are immensely grateful.
We do find that CI has been responsible for an above-average share of our security patches.
So far, everyone has [responsibly disclosed](/disclosure/) these, for which we are immensely grateful.
## Conclusion
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment