{"id":4469,"date":"2018-07-22T18:53:48","date_gmt":"2018-07-22T16:53:48","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog\/?p=4469"},"modified":"2018-07-24T15:48:29","modified_gmt":"2018-07-24T13:48:29","slug":"devops-gitlab-journey-at-jaguar-land-rover","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/","title":{"rendered":"A GitLab-assisted DevOps Journey at Jaguar Land Rover"},"content":{"rendered":"<p>This time I have chosen to <span style=\"font-weight: 400;\">summarize <\/span> a lecture <span style=\"font-weight: 400;\">from<\/span> the <span style=\"font-weight: 400;\">recent <\/span>DevOps Enterprise Summit in London. The conference was organized by Gene Kim, the author of a well-known book, The Phoenix Project. Lecture recordings were published a few days ago.<br \/>\nI have selected this specific lecture for a number of reasons:<\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It&#8217;s an interesting story about DevOps implementation, with trials and errors. The speaker, a manager from Jaguar Land Rover, is candid about the things they tried which didn\u2019t work out.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Their system is delivered to hundreds of thousands of vehicles.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The lecture discusses interesting usages of GitLab , AWS, Docker, GitLab CI\/CD and more.<\/span><\/span><\/li>\n<\/ul>\n<p>You can find the full recording of the lecture at the end of this article.<\/p>\n<h3><b>DevOps Journey at Jaguar<br \/>\n<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The speaker was Chris Hill, Head of System Engineering at Jaguar Land Rover in Portland, OR.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Chris manages a team of developers, who aim to improve the delivery process of their system&#8217;s software. That system contains 75 modules and is deployed to 750,000 vehicles already on the road.<\/span><\/p>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4471 size-full alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg\" alt=\"DevOps Journey at Jaguar\" width=\"670\" height=\"414\" srcset=\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/2018\/07\/jaguar-dashboard-1.jpg 670w, https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/2018\/07\/jaguar-dashboard-1-150x93.jpg 150w, https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/2018\/07\/jaguar-dashboard-1-300x185.jpg 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/h3>\n<p><span style=\"font-weight: 400;\">Chris presented the Jaguar I-PACE, the first all-electric Jaguar&#8217;s vehicle, which will be launched next month. He told about their DevOps process and their &#8220;DevOps Journey&#8221;. That journey started two years ago and is still ongoing. As Chris said, this is a &#8220;continuous improvement&#8221; process.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Chris&#8217; team is in charge of <\/span><i><span style=\"font-weight: 400;\">Infotainment<\/span><\/i><span style=\"font-weight: 400;\">, the interface screen which you see to the right of the driver (with the Jaguar logo in the picture above). Infotainment is one of 40 computerized devices in a car, all of which exchange data in real time.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The team develops embedded software for a device that must not distract the driver, and these are only a part of their constraints. \u00a0Chris mentioned the well-known tend in the automotive industry, of software becoming ever more important, as cars have become ever more technologically advanced (for example with the development of autonomous vehicles).<\/span><\/p>\n<h3><b>Jaguar Land Rover Company in numbers:<br \/>\n<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Number of employees: 40,000 <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Revenue: \u00a324 billion<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Cars sold in 2017: 604,000<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Software developers: \u00a05,000<\/span><\/li>\n<\/ul>\n<p><b>Their DevOps Journey<br \/>\n<\/b><span style=\"font-weight: 400;\">In the beginning it looked like that (click on the picture to enlarge it):<\/span><b><\/b><\/p>\n<p><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/devops-journey1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/devops-journey1.jpg\" alt=\"DevOps Journey Jaguar Phoenix project book\" width=\"669\" height=\"374\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">They started their DevOps journey in 2016 with 2 employees in Portland, OR by reading books: <\/span><i><span style=\"font-weight: 400;\">The Phoenix Project<\/span><\/i><span style=\"font-weight: 400;\"> (the factory icon at the end of the path is taken from that book&#8217;s jacket) and the <\/span><i><span style=\"font-weight: 400;\">Goal<\/span><\/i><span style=\"font-weight: 400;\"> by Eliyahu Goldratt (about the Theory of Constraints). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">(By the way, I have read both books and highly recommend them.)<\/span><\/p>\n<p><b>The next step was to build a server:<\/b><br \/>\n<a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey2.jpg\" alt=\"DevOps Journey Jaguar Gitlab qualifying laps\" width=\"670\" height=\"373\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">They started with Linux, Git, GitLab and GitLab CI as Chris preferred open source software. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">(In another article Chris explained that although the company in general uses Atlassian BitBucket and Bamboo, he went for GitLab (a reference is at the end). According to Chris, &#8220;Atlassian&#8217;s software is very good for managing parent-child relationships and collaboration with JIRAs. But sometimes vendors can start to get involved with other parts of the software development lifecycle that aren&#8217;t their core business, and customers get sold an entire package that they don&#8217;t necessarily want.&#8221;)<br \/>\n<\/span><\/p>\n<h3><b>Back to the Journey<br \/>\n<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">At that stage they viewed as progress the very fact that builds were running on a dedicated server rather than on users&#8217; workstations. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now they had three projects, and they discovered new problems:<br \/>\n<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Only one person in a project knew how the build works and how to run it and how automatic tests work, and Chris&#8217; team gradually moved to CI.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Some builds consumed all\u00a0of the server&#8217;s resources, so that sometimes version control stopped working &#8211; that&#8217;s because both the version control and CI ran on the same machine.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">So, they bought more hardware and now had three servers and three CI slaves.<a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey3.jpg\" alt=\"DevOps gitlab Jaguar \" width=\"670\" height=\"376\" \/><\/a><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As the situation improved, and they added more projects to run in the same environment,\u00a0they hit new bottlenecks on runners (machines that run GitLab CI), especially at peak hours, when everybody was running builds.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Chris said that at that point users began complaining and that they even preferred to go back to running builds on their workstations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As a result, Chris and his team decided to change direction and instead of adding new hardware, to run GitLab CI in a family of Docker containers, short-lived virtual machines.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\"><b>Code-based infrastructure<br \/>\n<\/b><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">That was a significant change: for the first time their infrastructure was code-based (they used Packer by HashiCorp). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">At that point running a build became self-service for the software engineers. They got the capability to run it by themselves.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That worked fine, the complaints stopped, and more projects and users jumped on the bandwagon.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">And with growth, new challenge arrived&#8230; The new reality created a mismatch between capacity and resources. The most troubling issue was hardware maintenance (caused by power outages, network failures, CPUs overheating, etc). That was the point when they decided to move to the cloud:<br \/>\n<a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey4.jpg\" alt=\"devops jaguar gitlab docker\" width=\"670\" height=\"375\" \/><\/a><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now instead of short-lived containers running on their own hardware, they had short-lived containers running on AWS EC2 machines. Each time they performed a\u00a0<\/span><i><span style=\"font-weight: 400;\">git commit<\/span><\/i><span style=\"font-weight: 400;\"> requiring a build, a temp machine was created. The build would run on that machine, and then the machine would be destroyed. Thus, they solved the problem of capacity shortage.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">By that time 50-60 developers were using the system. More projects were added, especially larger projects, which were considered more critical for the company.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At that point Chris was asked to relocate to England, closer to the company&#8217;s headquarters, and to continue his work from there. That was the sign that from the company&#8217;s point of view, his project had become more important.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Their next challenge was to provide better and faster feedback.<br \/>\n<a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2018\/07\/jaguar-devops-journey6.jpg\" alt=\"devops jaguar gitlab docker aws\" width=\"670\" height=\"375\" \/><\/a><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They cut the time it took to get feedback on a new feature from 4-6 weeks to 30 minutes.!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They achieved that by automating each step as much as possible reducing the time it took to perform code reviews and pull\/merge requests.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They simplified the build system and gave each developer the keys to run a build as a self-service by himself. Chris mentioned as an example that a JavaScript developer, who does not know Linux, now knows how to add his component to the build system and does it in 30 minutes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">According to Chris, by simplifying things they succeeded in speeding up project development and deployment. Now they are able to deliver their software automatically to 9 types of vehicles, as compared to zero automation a year and a half ago.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They are able to deploy their software directly to the cars in an hour! What used to take 6 weeks, takes now only one hour, from the build until the fix is running in the car. Moreover, the deployment is possible even when the car is moving (by maintaining dual environments &#8212; the &#8220;blue-green&#8221; deployment approach), even 700 times a day, including the capability of delivering from any branch.<\/span><\/p>\n<h3><b>Summing up &#8211; Chris\u2019s Takeaways:<br \/>\n<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Chris acknowledged that he learned things he did not know before in the world of software development (inspiration, persistence and continuous improvement). <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It is important to get an advantage over competitors, and implementation of DevOps can give you that advantage, as they have shown by the speedy delivery of I-PACE and overtaking other electric car manufacturers.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It is important to ask &#8220;Why?&#8221; at each step, to challenge the team&#8217;s way of thinking, and thus make working processes better.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">In the end, Chris said that the journey is not yet finished, and that this is a journey of continuous improvement. <\/span><b><\/b><\/p>\n<p>[chimpy_form forms=&#8221;2&#8243;]<\/p>\n<p>&nbsp;<\/p>\n<div class=\"\" style=\"border: 1px solid #eacd85; background: #ffeec5; padding: 1.1em 1.2em; border-radius: 4px;\">\n<p><strong> ALMtoolbox company is a GitLab Premier Reseller.<br \/>\nWe have experts that can help you with the following:<\/strong><\/p>\n<ul>\n<li>Plan a new GitLab implementation (on cloud \/ on-premise \/ private cloud)<\/li>\n<li>We can help you with purchasing and saving costs on GitLab licenses<\/li>\n<li>Align GitLab to in-house software development processes and flows<\/li>\n<li>Implement integration with JIRA, Jenkins, Slack, Artifactory,Docker, ClearCase and other ALM tools<\/li>\n<li>Customizations and add-ons development<\/li>\n<li>GitLab and Git training<\/li>\n<li>Managed services<\/li>\n<li>Implement migration from Git, GitHub, BitBucket, ClearCase, RTC, TFS, SVN, JIRA, Jenkins and more<\/li>\n<\/ul>\n<p>Contact us: <a href=\"mailto:gitlab@almtoolbox.com\">gitlab@almtoolbox.com<\/a> or 866-503-1471 (USA\/Canada) or +31 85 064 4633 (international)<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This time I have chosen to summarize a lecture from the recent DevOps Enterprise Summit in London. The conference was organized by Gene Kim, the author of a well-known book, The Phoenix Project. Lecture recordings were published a few days ago. I have selected this specific lecture for a number of reasons: It&#8217;s an interesting [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":4471,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[91,150,166],"tags":[196],"class_list":["post-4469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-git","category-gitlab","tag-packer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News\" \/>\n<meta property=\"og:description\" content=\"This time I have chosen to summarize a lecture from the recent DevOps Enterprise Summit in London. The conference was organized by Gene Kim, the author of a well-known book, The Phoenix Project. Lecture recordings were published a few days ago. I have selected this specific lecture for a number of reasons: It&#8217;s an interesting [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/\" \/>\n<meta property=\"og:site_name\" content=\"ALMtoolbox News\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/almtoolbox.israel\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-22T16:53:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-07-24T13:48:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"670\" \/>\n\t<meta property=\"og:image:height\" content=\"414\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tamir Gefen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Dikla\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tamir Gefen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/\"},\"author\":{\"name\":\"Tamir Gefen\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#\\\/schema\\\/person\\\/409e35aa3486f92208065230bb6ebb63\"},\"headline\":\"A GitLab-assisted DevOps Journey at Jaguar Land Rover\",\"datePublished\":\"2018-07-22T16:53:48+00:00\",\"dateModified\":\"2018-07-24T13:48:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/\"},\"wordCount\":1351,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2018\\\/07\\\/jaguar-dashboard-1.jpg\",\"keywords\":[\"Packer\"],\"articleSection\":[\"DevOps\",\"Git\",\"GitLab\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/\",\"url\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/\",\"name\":\"A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2018\\\/07\\\/jaguar-dashboard-1.jpg\",\"datePublished\":\"2018-07-22T16:53:48+00:00\",\"dateModified\":\"2018-07-24T13:48:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2018\\\/07\\\/jaguar-dashboard-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2018\\\/07\\\/jaguar-dashboard-1.jpg\",\"width\":670,\"height\":414,\"caption\":\"Jaguar DevOps Journey GitLab\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/devops-gitlab-journey-at-jaguar-land-rover\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A GitLab-assisted DevOps Journey at Jaguar Land Rover\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/\",\"name\":\"ALMtoolbox News\",\"description\":\"All the news of ALMtoolbox\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#organization\",\"name\":\"ALMtoolbox\",\"url\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2015\\\/10\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/wp-content\\\/uploads\\\/\\\/2015\\\/10\\\/logo.png\",\"width\":410,\"height\":190,\"caption\":\"ALMtoolbox\"},\"image\":{\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/almtoolbox.israel\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/almtoolbox\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/GoMidjets\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.almtoolbox.com\\\/blog\\\/#\\\/schema\\\/person\\\/409e35aa3486f92208065230bb6ebb63\",\"name\":\"Tamir Gefen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"caption\":\"Tamir Gefen\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Dikla\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/","og_locale":"en_US","og_type":"article","og_title":"A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News","og_description":"This time I have chosen to summarize a lecture from the recent DevOps Enterprise Summit in London. The conference was organized by Gene Kim, the author of a well-known book, The Phoenix Project. Lecture recordings were published a few days ago. I have selected this specific lecture for a number of reasons: It&#8217;s an interesting [&hellip;]","og_url":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/","og_site_name":"ALMtoolbox News","article_publisher":"https:\/\/www.facebook.com\/almtoolbox.israel\/","article_published_time":"2018-07-22T16:53:48+00:00","article_modified_time":"2018-07-24T13:48:29+00:00","og_image":[{"width":670,"height":414,"url":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg","type":"image\/jpeg"}],"author":"Tamir Gefen","twitter_card":"summary_large_image","twitter_creator":"@Dikla","twitter_misc":{"Written by":"Tamir Gefen","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#article","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/"},"author":{"name":"Tamir Gefen","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63"},"headline":"A GitLab-assisted DevOps Journey at Jaguar Land Rover","datePublished":"2018-07-22T16:53:48+00:00","dateModified":"2018-07-24T13:48:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/"},"wordCount":1351,"commentCount":0,"publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#primaryimage"},"thumbnailUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg","keywords":["Packer"],"articleSection":["DevOps","Git","GitLab"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/","url":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/","name":"A GitLab-assisted DevOps Journey at Jaguar Land Rover - ALMtoolbox News","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#primaryimage"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#primaryimage"},"thumbnailUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg","datePublished":"2018-07-22T16:53:48+00:00","dateModified":"2018-07-24T13:48:29+00:00","breadcrumb":{"@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#primaryimage","url":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg","contentUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2018\/07\/jaguar-dashboard-1.jpg","width":670,"height":414,"caption":"Jaguar DevOps Journey GitLab"},{"@type":"BreadcrumbList","@id":"https:\/\/www.almtoolbox.com\/blog\/devops-gitlab-journey-at-jaguar-land-rover\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.almtoolbox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A GitLab-assisted DevOps Journey at Jaguar Land Rover"}]},{"@type":"WebSite","@id":"https:\/\/www.almtoolbox.com\/blog\/#website","url":"https:\/\/www.almtoolbox.com\/blog\/","name":"ALMtoolbox News","description":"All the news of ALMtoolbox","publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.almtoolbox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.almtoolbox.com\/blog\/#organization","name":"ALMtoolbox","url":"https:\/\/www.almtoolbox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","contentUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","width":410,"height":190,"caption":"ALMtoolbox"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/almtoolbox.israel\/","https:\/\/www.linkedin.com\/company\/almtoolbox\/","https:\/\/www.youtube.com\/user\/GoMidjets"]},{"@type":"Person","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63","name":"Tamir Gefen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","caption":"Tamir Gefen"},"sameAs":["https:\/\/x.com\/Dikla"]}]}},"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/4469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/comments?post=4469"}],"version-history":[{"count":19,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/4469\/revisions"}],"predecessor-version":[{"id":4490,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/4469\/revisions\/4490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/media\/4471"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/media?parent=4469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/categories?post=4469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/tags?post=4469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}