{"id":2677,"date":"2022-03-31T07:52:00","date_gmt":"2022-03-31T07:52:00","guid":{"rendered":"https:\/\/gitprotect.io\/blog\/?p=2677"},"modified":"2024-02-28T09:54:46","modified_gmt":"2024-02-28T09:54:46","slug":"building-a-devsecops-pipeline-with-backup-in-mind","status":"publish","type":"post","link":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/","title":{"rendered":"Building a DevSecOps Pipeline With Backup in Mind"},"content":{"rendered":"\n<p>The times when projects were created according to the principle \u201cjust to bring them to an end\u201d are long gone. Currently, taking care of the security of a given source code, project, or application is as important as the application itself. Just as no programmer likes to find out at the end of the code writing that the application still needs some feature that changes half of the source code. That&#8217;s is the reason why backup, and security issues should be taken into account at the planning stage. The DevSecOps ideology works excellent in the software development lifecycle, and I am explaining why.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">DevOps vs. DevSecOps?<\/h2>\n\n\n\n<p>I have already mentioned in&nbsp;<a href=\"https:\/\/gitprotect.io\/blog\/gitlab-ci-cd-beginners-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab Ci\/CD<\/a>&nbsp;article that DevOps is nothing more than a combination of departments responsible for the development and IT operations. It&#8217;s a kind of a set of good practices which aim is to increase the cooperation of these two departments and, thus, accelerate and improve work on a given project. At the turn of recent events, it has also become clear that IT has already appeared in every area of life. This, in turn, began to bring an increasing need to develop applications faster and more efficiently. And the very security of application data and implementations began to become an important issue. Thus, integrating security measures and some security tools becomes essential. No one indeed wants Someone to turn off our refrigerator connected to the Internet remotely. But that also becomes a meaningless issue when we realize that Someone could do the same with a nuclear power plant.<\/p>\n\n\n\n<p>In recent years, the considerable emphasis placed on&nbsp;<strong>security has made DevOps evolve into DevSecOps<\/strong>. That is why it&#8217;s so important to understand that the DevSecOps pipeline is, in a sense, a further evolution of DevOps and not its competitor. A prime example is the vulnerability&nbsp;<a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-44228\" target=\"_blank\" rel=\"noreferrer noopener\">CVE-2021-44228<\/a>, also known as log4shell. This vulnerability was found in the log4j library. The IT world burst into flames, not from the fire of the decay, but from the frantic search for and patching of this vulnerability by all administrators and developers around the globe. <\/p>\n\n\n\n<p>To understand why so many programs and systems this vulnerability has affected, you need to know what Apache log4j is. It&#8217;s a JAVA library and is used in Java Virtual Machine (JVM) and as an attached library for all kinds of produced software that uses or connects to, for example, Apache server. The Apache Software Foundation developed it as an open-source project and developers have widely used it in software development since than. This is because it helps to log various events. Unfortunately, the detected vulnerability allowed for the execution of arbitrary source code on the server with application privileges, so it&#8217;s a critical one among all security vulnerabilities.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p class=\"has-text-align-left\" style=\"font-size:22px\">Are you switching to a DevSecOps operation model? Remember to <strong>secure your code with the first professional GitHub, Bitbucket, GitLab, and Jira backup<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button align=&quot;center&quot;\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/gitprotect.io\/sign-up.html\" style=\"border-radius:50px;background-color:#ff0300\" target=\"_blank\" rel=\"noreferrer noopener\">Start 14 days free GitProtect trial<\/a><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The question is whether,&nbsp;<strong>using our CI\/CD pipeline, the modern DevSecOps approach<\/strong>, and well-written tests, we can avoid such security vulnerabilities in our workflow in the future. I will be frank with you. After I spent a few long days analyzing and reviewing the systems it maintains for this vulnerability, and I am not surprised that log4shell is presented as the worst security issue in a decade. I will tell you that the incredible women from the Xopero marketing department also had to endure my failure to meet the deadlines for this reason. I hope they will forgive me someday.<\/p>\n\n\n\n<p>Returning to this fascinating topic, let&#8217;s now focus on how the IT world is moving towards protecting itself from such security vulnerabilities and threats in their software development process in the future. We already know the pipeline workflow that we can automate and, most importantly, carry out regular security tests. It may include different ways of security checks and security analysis tools as dynamic application security testing, static application security testing, interactive application security testing, automate security testing, etc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CI\/CD<\/h2>\n\n\n\n<p>First, let&#8217;s remember what CI\/CD abbreviation stand for? CI means continuous integration, CD is continuous development.<\/p>\n\n\n\n<p>Thus, CI\/CD pipeline and basing the entire application development process on it has become an everyday reality in current projects. The IT world has understood that this improvement supports development and reduces all sorts of problems. It is also important that the largest services such as GitHub focus on DevOps. A great example here is GitLab, which emphasizes&nbsp;<a href=\"https:\/\/docs.gitlab.com\/ee\/ci\" target=\"_blank\" rel=\"noreferrer noopener\">CI\/CD<\/a>, i.e., a set of tools implemented and ready to be used in our CI\/CD pipeline for&nbsp;<a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/introduction\/index.html#continuous-integration\" target=\"_blank\" rel=\"noreferrer noopener\">continuous integration<\/a>,&nbsp;<a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/introduction\/index.html#continuous-delivery\" target=\"_blank\" rel=\"noreferrer noopener\">continuous delivery<\/a>, and&nbsp;<a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/introduction\/index.html#continuous-delivery\" target=\"_blank\" rel=\"noreferrer noopener\">continuous deployment<\/a>.<\/p>\n\n\n\n<p>Some people call the approach and set of tools behind CI\/CD the golden grail in automation of the application development process, and this is not an exaggeration at all. A well-configured one will allow you to automatically create aand build, test it, perform security tests, and even if you want to do an automatic deployment, after even the slightest change in the source code. Adding to this the fact that GitLab allows you to carry out&nbsp;<a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/ci_cd_for_external_repos\" target=\"_blank\" rel=\"noreferrer noopener\">CI\/CD for external repositories<\/a>, we get a compelling set of tools for automating the production of our projects.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/gitprotect.io\/sign-up.html\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template-1024x536.png\" alt=\"Get free trial\" class=\"wp-image-2555\" style=\"width:512px;height:268px\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template-1024x536.png 1024w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template-300x157.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template-768x402.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template-400x209.png 400w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/LinkedIn-ads-template.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>This is not the end,&nbsp;<strong>because thanks to CI\/CD, in addition to, for example, tests, we can also include manual or automatic backups<\/strong>&nbsp;of our code changes and entire applications after deployment to avoid security risks. Moreover, it will empower the security teams with security policies to withstand security breaches and security threats. We can achieve this by adding new steps to our pipeline. Let&#8217;s not forget that it may often turn out that we will have to use the&nbsp;<a href=\"https:\/\/docs.gitlab.com\/runner\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab Runner<\/a>&nbsp;during the tests and deployment process so that we can carry out the entire process correctly. We can automate connection to a remote Docker instance and build and test our application thanks to them. Of course, we can also perform a backup, and here such secure software as GitProtect will undoubtedly come to the rescue, ensuring that we have our code backed-up even with minor changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summarizing<\/h2>\n\n\n\n<p>DevSecOps is a set of good practices combining the worlds of development, security, and IT operating. We can say that this is another evolution in the way and approach to application development. It&#8217;s worth noting that nowadays, it&#8217;s not only the domain of programming and development of all software but the use of DevSecOps as an ideology and approach with good practices can be seen in entire organizations and various projects, sometimes not even related to IT.<\/p>\n\n\n\n<p><strong><strong>Portals such as GitLab are perfect for DevSecOps tools<\/strong>, <\/strong>as they help teams automate and develop a given project continuously, not forgetting about security practices, which help to build a more secure code. <a href=\"https:\/\/gitprotect.io\/blog\/continuous-integration-and-continuous-delivery-with-jira-done-right-advanced\/\" target=\"_blank\" rel=\"noreferrer noopener\">Continuous integration<\/a> and <a href=\"https:\/\/gitprotect.io\/blog\/continuous-integration-and-continuous-delivery-with-jira-done-right-advanced\/\" target=\"_blank\" rel=\"noreferrer noopener\">continuous delivery<\/a> (CI\/CD) is an ideal solution here, as it allows you to perform automatic tests and automated tasks such as deployment, if well planned in our software development life cycle.<\/p>\n\n\n\n<p>However, the most important thing is to have a good and trusted backup solution for our projects&#8217; continuous security.&nbsp;<a href=\"https:\/\/gitprotect.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitProtect<\/a>&nbsp;is a comprehensive approach to the backup of our projects. Possibilities like scheduling and doing full, differential, and incremental backups are just the beginning of the list as a part of your security best practices. With GitProtect, we get a ready-made product that will allow us to secure and, when necessary, encrypt our backups to further increase our data&#8217;s security.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The times when projects were created according to the principle \u201cjust to bring them to an end\u201d are long gone. Currently, taking care of the security of a given source code, project, or application is as important as the application itself. Just as no programmer likes to find out at the end of the code writing that the application still needs some feature that changes half of the source code. That&#8217;s is the reason why backup, and security issues should be taken into account at the planning stage. The DevSecOps ideology works excellent in the software development lifecycle, and I [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2678,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,2,3,70,73],"tags":[],"class_list":["post-2677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bitbucket","category-git-backup-101","category-github","category-gitlab","category-jira","post--single"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io<\/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:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io\" \/>\n<meta property=\"og:description\" content=\"The times when projects were created according to the principle \u201cjust to bring them to an end\u201d are long gone. Currently, taking care of the security of a given source code, project, or application is as important as the application itself. Just as no programmer likes to find out at the end of the code writing that the application still needs some feature that changes half of the source code. That&#8217;s is the reason why backup, and security issues should be taken into account at the planning stage. The DevSecOps ideology works excellent in the software development lifecycle, and I [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | GitProtect.io\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/XoperoSoftware\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-31T07:52:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-28T09:54:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Michal Zbyl\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:site\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michal Zbyl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\"},\"author\":{\"name\":\"Michal Zbyl\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/52a5c06583d6cc6e418c1afb37653017\"},\"headline\":\"Building a DevSecOps Pipeline With Backup in Mind\",\"datePublished\":\"2022-03-31T07:52:00+00:00\",\"dateModified\":\"2024-02-28T09:54:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\"},\"wordCount\":1273,\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png\",\"articleSection\":[\"Bitbucket\",\"Git Backup 101\",\"GitHub\",\"GitLab\",\"Jira\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\",\"name\":\"Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png\",\"datePublished\":\"2022-03-31T07:52:00+00:00\",\"dateModified\":\"2024-02-28T09:54:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png\",\"width\":1200,\"height\":600,\"caption\":\"DevSecOps backup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/gitprotect.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a DevSecOps Pipeline With Backup in Mind\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"name\":\"GitProtect.io Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gitprotect.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\",\"name\":\"GitProtect.io\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"width\":528,\"height\":528,\"caption\":\"GitProtect.io\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/XoperoSoftware\/\",\"https:\/\/x.com\/GitProtectio\",\"https:\/\/www.linkedin.com\/company\/xopero-software\/\",\"https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/52a5c06583d6cc6e418c1afb37653017\",\"name\":\"Michal Zbyl\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/michal-zbyl_avatar-96x96.jpg\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/michal-zbyl_avatar-96x96.jpg\",\"caption\":\"Michal Zbyl\"},\"url\":\"https:\/\/gitprotect.io\/blog\/author\/michal-zbyl\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io","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:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/","og_locale":"en_US","og_type":"article","og_title":"Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io","og_description":"The times when projects were created according to the principle \u201cjust to bring them to an end\u201d are long gone. Currently, taking care of the security of a given source code, project, or application is as important as the application itself. Just as no programmer likes to find out at the end of the code writing that the application still needs some feature that changes half of the source code. That&#8217;s is the reason why backup, and security issues should be taken into account at the planning stage. The DevSecOps ideology works excellent in the software development lifecycle, and I [&hellip;]","og_url":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/","og_site_name":"Blog | GitProtect.io","article_publisher":"https:\/\/www.facebook.com\/XoperoSoftware\/","article_published_time":"2022-03-31T07:52:00+00:00","article_modified_time":"2024-02-28T09:54:46+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png","type":"image\/png"}],"author":"Michal Zbyl","twitter_card":"summary_large_image","twitter_creator":"@GitProtectio","twitter_site":"@GitProtectio","twitter_misc":{"Written by":"Michal Zbyl","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#article","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/"},"author":{"name":"Michal Zbyl","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/52a5c06583d6cc6e418c1afb37653017"},"headline":"Building a DevSecOps Pipeline With Backup in Mind","datePublished":"2022-03-31T07:52:00+00:00","dateModified":"2024-02-28T09:54:46+00:00","mainEntityOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/"},"wordCount":1273,"publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png","articleSection":["Bitbucket","Git Backup 101","GitHub","GitLab","Jira"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/","url":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/","name":"Building a DevSecOps Pipeline With Backup in Mind - Blog | GitProtect.io","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png","datePublished":"2022-03-31T07:52:00+00:00","dateModified":"2024-02-28T09:54:46+00:00","breadcrumb":{"@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#primaryimage","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2022\/03\/devsecops.png","width":1200,"height":600,"caption":"DevSecOps backup"},{"@type":"BreadcrumbList","@id":"https:\/\/gitprotect.io\/blog\/building-a-devsecops-pipeline-with-backup-in-mind\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/gitprotect.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Building a DevSecOps Pipeline With Backup in Mind"}]},{"@type":"WebSite","@id":"https:\/\/gitprotect.io\/blog\/#website","url":"https:\/\/gitprotect.io\/blog\/","name":"GitProtect.io Blog","description":"","publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gitprotect.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gitprotect.io\/blog\/#organization","name":"GitProtect.io","url":"https:\/\/gitprotect.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","width":528,"height":528,"caption":"GitProtect.io"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/XoperoSoftware\/","https:\/\/x.com\/GitProtectio","https:\/\/www.linkedin.com\/company\/xopero-software\/","https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w"]},{"@type":"Person","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/52a5c06583d6cc6e418c1afb37653017","name":"Michal Zbyl","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/michal-zbyl_avatar-96x96.jpg","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/michal-zbyl_avatar-96x96.jpg","caption":"Michal Zbyl"},"url":"https:\/\/gitprotect.io\/blog\/author\/michal-zbyl\/"}]}},"_links":{"self":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/2677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/comments?post=2677"}],"version-history":[{"count":7,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/2677\/revisions"}],"predecessor-version":[{"id":4889,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/2677\/revisions\/4889"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media\/2678"}],"wp:attachment":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media?parent=2677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/categories?post=2677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/tags?post=2677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}