CINXE.COM

What is DevOps? · GitHub

<!doctype html> <html lang="en" data-color-mode="light" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true"> <head> <base href="https://github.com/resources/articles/devops/what-is-devops"> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link rel="preload" href="https://github.githubassets.com/assets/global-banner-disable-f988792be49f.js" as="script" crossorigin> <link rel="preload" href="https://github.githubassets.com/assets/mona-sans-d1bf285e9b9b.woff2" as="font" type="font/woff2" crossorigin> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-3e154969b9f9.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-9c5b7a476542.css"> <link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-3e154969b9f9.css"> <link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-9c5b7a476542.css"> <link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-afda8eb0fb33.css"> <link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-2494e44ccdc5.css"> <link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-56fff47acadc.css"> <link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-71cd4cc132ec.css"> <link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fd5499848985.css"> <link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-31d17ba3e139.css"> <link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-68d6b2c79663.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-4cf0d59ab51a.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-af846850481e.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-e41ff91f8baa.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-d3b66f11d613.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-0293a3496b30.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/resources-94793b5b4d40.css"> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["copilot_new_references_ui","copilot_beta_features_opt_in","copilot_chat_static_thread_suggestions","copilot_conversational_ux_history_refs","copilot_implicit_context","copilot_smell_icebreaker_ux","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hovercard_accessibility","issues_react_new_timeline","issues_react_avatar_refactor","issues_react_remove_placeholders","issues_react_cache_fix_workaround","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","site_metered_billing_update","issues_react_first_time_contribution_banner","jk_navigation_in_list_view","ui_commands_respect_modals","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-118ecaabd77e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b73fdff77a4e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-aff936e590ed.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-247092-740e4ddd559d.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-a46544e9ee5e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/environment-cd35650c2e9c.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-4aa4b0e95669.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-6d3967acd51c.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_g-emoji-element_di-6ce195-53781cbc550f.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-6afc16-3cdfa69a0406.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-f5498b8d4e5d.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-492b5042c841.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1f651a-1e3d784c897c.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-7671f1-dc6cac136d88.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/github-elements-71486356f507.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/element-registry-e3ab8405ef80.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-634de60bacfa.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ce7225a304c5.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-f3aee1-e6893db9c19e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-f8a5485c982a.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-858e043fcf76.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_stacktrace-pa-a71630-6f3c4f0189d8.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-0e07cc183eed.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-0b5e12-889cec8cf448.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-eae9df0dd562.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-18d1c91a7872.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-7cbef09a422c.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-0e9fa537dc4f.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-c89801ebbe15.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/behaviors-93287f4de493.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-3366f6b6298e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_delegated-events_dist_in-bae876-7b3addcd24c5.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/marketing-b679596fd7f0.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/primer-react-765944243383.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/react-core-cd0a67881543.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/react-lib-7b7b5264f6c1.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-54c0c921f04b.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-285fc29e9fa5.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react-brand_lib_index_js-node_modules_primer_live-region-element_-9942a0-de27d252afa0.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_contentful_rich-text-react-renderer_dist_rich-text-react-renderer_es5_js-1ac0d3-dbeda44e0ce1.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_contentful_rich-text-html-renderer_dist_rich-text-html-renderer_es5_js-b83fdb5d31e7.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-014121-e1792bd5a31e.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_swp-core_lib_utils_images_ts-u-9e4972-2636adf4661d.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/resources-035285cd0f72.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/resources.1157820b9572cf8d6ed2.module.css"> <title>What is DevOps? · GitHub</title> <meta name="route-pattern" content="/resources/articles/:topic/:path(.:format)" data-turbo-transient> <meta name="route-controller" content="site_resources_articles" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="3b3a86e94adb1936974b9e80c6c5c959f35b1d5f75b93677737ffa36daf92bbd"> <meta name="request-id" content="EFE3:183E:2DB9CEA:39CFA15:6742EACB" data-pjax-transient="true"> <meta name="html-safe-nonce" content="b947ce3f33a880986e34f4d03d50cf747db19354f07b2b6feefd1e50a9520817" data-pjax-transient="true"> <meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRkUzOjE4M0U6MkRCOUNFQTozOUNGQTE1OjY3NDJFQUNCIiwidmlzaXRvcl9pZCI6IjUzODAwODcwMDEyMDA2NTA5NTUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==" data-pjax-transient="true"> <meta name="visitor-hmac" content="aa423badef94d195d263d02d1dafa8e5bb2a75e00146a20fbe10c27ad24f4ba8" data-pjax-transient="true"> <meta name="github-keyboard-shortcuts" content="copilot" data-turbo-transient="true"> <meta name="selected-link" value="/resources/articles/devops/what-is-devops" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect"> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. "> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/resources/articles/devops/what-is-devops"> <meta name="twitter:image" content="https://images.ctfassets.net/8aevphvgewt8/2EitsBJ5cRaCA6N3FWpHS/092f2f8c071ddd593d082731096efbce/3cbfbbc2-8cfd-417e-9873-86856c81f429-1200x630__1_.png"> <meta name="twitter:site" content="@github"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="What is DevOps?"> <meta name="twitter:description" content="DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. "> <meta property="og:image" content="https://images.ctfassets.net/8aevphvgewt8/2EitsBJ5cRaCA6N3FWpHS/092f2f8c071ddd593d082731096efbce/3cbfbbc2-8cfd-417e-9873-86856c81f429-1200x630__1_.png"> <meta property="og:image:alt" content="DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. "> <meta property="og:site_name" content="GitHub"> <meta property="og:type" content="object"> <meta property="og:title" content="What is DevOps?"> <meta property="og:url" content="https://github.com/resources/articles/devops/what-is-devops"> <meta property="og:description" content="DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. "> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="a42d925fc18d45bc8fa85aa1450e54bf1a2f16c20c74df952d87e47fd8f01f5a" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="f93828411aae0064e47190f8211490328b42fbdba5468d9b52a5ed2d1c8b40ce" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="8968ee26e93ec8c6d3c4e91c77fb9d206091689d451ebbcddeca3832587a5b30" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="c4972ae1cf5d4607c47252349fc1b47a24ff0ea303e5a8fbbe18ec27725a87ee" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta name="is_logged_out_page" content="true"> <meta name="octolytics-page-type" content="marketing"> <meta name="octolytics-revenue-play" content="Platform"> <link rel="canonical" href="https://github.com/resources/articles/devops/what-is-devops" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark"> <link rel="manifest" href="/manifest.json" crossorigin="use-credentials"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="iw"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=corsproxy" data-sourceurl="https://github.com/resources/articles/devops/what-is-devops"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://github.com/resources/articles/devops/what-is-devops"></script> <meta name="robots" content="none"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;" data-turbo="false"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=navigationui" data-environment="prod" data-proxy-url="https://github-com.translate.goog" data-proxy-full-url="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-source-url="https://github.com/resources/articles/devops/what-is-devops" data-source-language="pl" data-target-language="iw" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.com/resources/articles/devops/what-is-devops&amp;anno=2" data-client="tr"></script> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "><a href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-4896ddd4b7bb.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-d25fac54a6bc.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-ed30662f9578.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css"><react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false"> <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script type="text/javascript" src="https://github.githubassets.com/assets/global-banner-disable-f988792be49f.js" crossorigin></script><active-global-banners data-banners=""></active-global-banners> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-cf3dd69d89eb.js"></script> <script crossorigin="anonymous" defer type="application/javascript" src="https://github.githubassets.com/assets/sessions-8fa3b694f335.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode="light" data-light-theme="light" data-dark-theme="dark"> <h2 class="sr-only">Navigation Menu</h2><button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"><button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div><a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="https://github-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewbox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg></a> <div class="flex-1 flex-order-2 text-right"><a href="https://github-com.translate.goog/login?return_to=https://github.com/resources/articles/devops/what-is-devops&amp;_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/resources/articles/devops/what-is-devops&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e91789af267ce4219d0468e2f6935784db99a1be571993a74ef63ed148fefc7" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"> Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/copilot?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"><path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4"> GitHub Copilot </div> Write better code with AI </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4"> Security </div> Find and fix vulnerabilities </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/actions?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"><path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4"> Actions </div> Automate any workflow </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/codespaces?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"><path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4"> Codespaces </div> Instant dev environments </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/issues?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4"> Issues </div> Plan and track work </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/code-review?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"><path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4"> Code Review </div> Manage code changes </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/discussions?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4"> Discussions </div> Collaborate outside of code </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github-com.translate.goog/features/code-search?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"><path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4"> Code Search </div> Find more, search less </div></a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"><span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github-com.translate.goog/features?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> All features </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.blog"> Blog <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> </ul> </div> </div> </div></li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"><span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/enterprise?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Enterprises </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/team?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Small and medium teams </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/enterprise/startups?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Startups </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"><span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/use-case/devsecops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> DevSecOps </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/use-case/devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> DevOps </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/use-case/ci-cd?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> CI/CD </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/use-case?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"><span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/industry/healthcare?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Healthcare </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/industry/financial-services?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Financial services </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/industry/manufacturing?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Manufacturing </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/industry/government?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Government </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="https://github-com.translate.goog/solutions/industry?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"><a href="https://github-com.translate.goog/solutions?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> View all solutions <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg></a> </div> </div></li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"><span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="https://github-com.translate.goog/resources/articles/ai?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> AI </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="https://github-com.translate.goog/resources/articles/devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> DevOps </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="https://github-com.translate.goog/resources/articles/security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Security </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="https://github-com.translate.goog/resources/articles/software-development?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Software Development </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="https://github-com.translate.goog/resources/articles?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"><span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;white_papers_ebooks_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;white_papers_ebooks_webinars_link_resources_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com"> White papers, Ebooks, Webinars <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github-com.translate.goog/customer-stories?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Customer Stories </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg></a></li> </ul> </div> </div> </div></li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="https://github-com.translate.goog/sponsors?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <div> <div class="color-fg-default h4"> GitHub Sponsors </div> Fund open source developers </div></a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github-com.translate.goog/readme?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <div> <div class="color-fg-default h4"> The ReadME Project </div> GitHub community articles </div></a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"><span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github-com.translate.goog/topics?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Topics </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github-com.translate.goog/trending?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Trending </a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github-com.translate.goog/collections?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> Collections </a></li> </ul> </div> </div> </div></li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="https://github-com.translate.goog/enterprise?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"><path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4"> Enterprise platform </div> AI-powered developer platform </div></a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"><span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;advanced_security_link_enterprise_navbar&quot;}" href="https://github-com.translate.goog/enterprise/advanced-security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"><path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4"> Advanced Security </div> Enterprise-grade security features </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_enterprise_navbar&quot;}" href="https://github-com.translate.goog/features/copilot?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#enterprise"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"><path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4"> GitHub Copilot </div> Enterprise-grade AI features </div></a></li> <li><a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="https://github-com.translate.goog/premium-support?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"> <svg aria-hidden="true" height="24" viewbox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4"> Premium Support </div> Enterprise-grade 24/7 support </div></a></li> </ul> </div> </div> </div></li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"><a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github-com.translate.goog/pricing?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Pricing</a></li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"><qbsearch-input class="search-input" data-scope="" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="XMKSrJuEWXO-8nuYRp-sQLBXfJcO4GE_sZyyTpSCP10HCw3MhLU86HoYNOlZg-QdjJN9E3CQedfPQafdCvyVpQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked"><button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey="s,/" autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand"> <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div><span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"> <path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path> </svg> </div></button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay><modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden><!-- '"` --><!-- </textarea></xmp> --> <form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"><query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"><label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput"><span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg></span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent"></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div><input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-c59f709b-09b2-4d4c-9758-1d0451850c90" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium"> </div> </div><span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"><path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg></button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"><path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"><path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"><path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"><path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"><path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"><path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"><path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"><path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"><path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"><path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"><path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"><path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"><path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list="false" id="query-builder-test-results"></ul> </div> <div class="FormControl-inlineValidation" id="validation-c59f709b-09b2-4d4c-9758-1d0451850c90" hidden><span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewbox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"><path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg></span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder> </form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"><a target="_blank" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2"> Search syntax tips </a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog> </div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"><dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title">Provide feedback</h1> </div> <div class="Overlay-actionWrap"><button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"><!-- '"` --><!-- </textarea></xmp> --> <form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"> <input type="hidden" data-csrf="true" name="authenticity_token" value="NIXYUB59uAzqnAHdkQwAUAFzFGUCUu6AG3k4ptHRU892DucopBvGqX9J58yCK4dX/UJPw0aY4CfL+m6aQfVJ3A=="> <p>We read every piece of feedback, and take your input very seriously.</p><textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"><button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog> </dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title">Saved searches</h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"><button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"><!-- '"` --><!-- </textarea></xmp> --> <form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"> <input type="hidden" data-csrf="true" name="authenticity_token" value="TiNaXx6FsumQYsKJcvElwXyA9ISmTlsraOGZn1FZTD3Kg7LOgLebE2grODSlF5ALQsj01lGHawHOmpU4RGk8dQ=="> <div data-target="custom-scopes.customScopesModalDialogFlash"></div><input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"><label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="drKMgtFH1LenRWLwb7aMvmZIS7MMP6QXIoJqCrs17lBsOWe7wLWQ6NZUEQ2NR0ort3e2xY75B19MfPWWTbtKnQ=="> </auto-check> </div> <div class="form-group"><label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted">To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.</p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"><button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog> </dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"><a href="https://github-com.translate.goog/login?return_to=https://github.com/resources/articles/devops/what-is-devops&amp;_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/resources/articles/devops/what-is-devops&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e91789af267ce4219d0468e2f6935784db99a1be571993a74ef63ed148fefc7" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"> Sign in </a> </div><a href="https://github-com.translate.goog/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=/resources/articles/devops/what-is-devops&amp;source=header&amp;_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/resources/articles/devops/what-is-devops&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e91789af267ce4219d0468e2f6935784db99a1be571993a74ef63ed148fefc7" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/resources/articles/devops/what-is-devops;ref_cta:Sign up;ref_loc:header logged out&quot;}"> Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg><span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Reload</a> to refresh your session.</span> <button id="icon-button-a8c35306-8225-45cd-ac12-6d658d743c34" aria-labelledby="tooltip-2aa9ff5f-d05d-4106-b027-5e5c52953a24" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button><tool-tip id="tooltip-2aa9ff5f-d05d-4106-b027-5e5c52953a24" for="icon-button-a8c35306-8225-45cd-ac12-6d658d743c34" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute"> Dismiss alert </tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div><button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div> {{ message }} </div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled> <main class="font-mktg"><react-app app-name="resources" initial-path="/resources/articles/devops/what-is-devops" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false"> <script type="application/json" data-target="react-app.embeddedData">{"payload":{"contentfulRawJsonResponse":{"sys":{"type":"Array"},"total":1,"skip":0,"limit":100,"items":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"2HRAKtxanOLHiKuY8DHxxB","type":"Entry","createdAt":"2024-07-02T17:03:05.766Z","updatedAt":"2024-07-02T17:03:55.773Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":8,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"containerPage"}},"locale":"en-US"},"fields":{"title":"What is DevOps?","path":"/resources/articles/devops/what-is-devops","template":{"sys":{"type":"Link","linkType":"Entry","id":"1Svb0At16nDGdywAJZaWAE"}},"settings":{"sys":{"type":"Link","linkType":"Entry","id":"3w2NT5foNFBog6QyIZkBs8"}},"seo":{"sys":{"type":"Link","linkType":"Entry","id":"3q5hbtSalofYOMhRXId8CX"}}}}],"includes":{"Entry":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"017l76xxRq7lQH8hJZeKB8","type":"Entry","createdAt":"2024-07-02T17:03:06.808Z","updatedAt":"2024-07-02T17:03:06.808Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What is DevOps automation?","question":"What is DevOps automation?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps automation allows development teams to reduce the possibility of human error and ship software faster by replacing manual tasks with automated processes. For example, continuous integration and continuous delivery automates the build, testing, and deployment stages of the DevOps lifecycle.","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1JOu7hLywBizvWuL9ojHXZ","type":"Entry","createdAt":"2024-07-02T17:03:06.009Z","updatedAt":"2024-09-12T19:28:50.091Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":55,"revision":8,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentProse"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops/what-is-devops Prose","text":{"nodeType":"document","data":{},"content":[{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"Defining DevOps","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"By bringing people, processes, and products together, DevOps enables development teams to continuously deliver value to their customers.","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"What do we mean when we say DevOps?","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"When it comes to the meaning of DevOps, it’s more than just automation. It’s really about organizations following a process enabled by software to help them deliver value. DevOps is a business practice where development, IT operations, and security teams partner to build, test, and provide regular feedback throughout the entire SDLC. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"To successfully adopt the ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/devops/methodology/"},"content":[{"nodeType":"text","value":"DevOps methodology","marks":[],"data":{}}]},{"nodeType":"text","value":", people shift the way they work and collaborate. From culture change to automation with continuous integration and continuous deployment (CI/CD), let’s explore how DevOps teams develop shared context, expertise, tooling, and roles to ship better products.","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"How DevOps was created: Silos to shared workflows","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps sets a new standard for how we build software. Before the mid-2000s, developers, IT operations, and security teams typically worked in silos and followed a linear process:","marks":[],"data":{}}]},{"nodeType":"unordered-list","data":{},"content":[{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Developers wrote code, packaged the application with documentation, and shipped it to QA. ","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The QA team tested the application and handed it off to the production operations team. ","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The operations team deployed the software to production and managed the software’s uptime and stability—with little or no direct interaction with the development team. ","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The security team only checked code for vulnerabilities after deployment. ","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"If someone reported an issue, the entire process started over again. ","marks":[],"data":{}}]}]}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"This linear approach to software development was slow and frustrating for everyone involved. Then in 2008, system administrator Patrick Debois and software developer Andrew Shafer created a working group to help bridge the gap between operations and development teams. Their best practices started the journey toward the DevOps processes we know today. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=y6ZSgiBHLXc\u0026list=PL0lo9MOBetEGx6P7vI85aDfD4I2WNMdUG\u0026index=8"},"content":[{"nodeType":"text","value":"Learn more about the history of DevOps","marks":[{"type":"bold"}],"data":{}}]},{"nodeType":"text","value":" ","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"Bridging the gap between operations and development ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"In a DevOps culture, teams work closely together in a shared workflow to continuously improve their software delivery and management processes. The ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/resources/articles/devops/what-is-a-devops-engineer"},"content":[{"nodeType":"text","value":"DevOps Engineer","marks":[],"data":{}}]},{"nodeType":"text","value":" plays an important role by continuously managing team communications and designing and implementing strategies. In addition to code-related tasks, the DevOps Engineer is responsible for solving issues related to testing, monitoring, release management, and operational planning. ","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"What is a DevOps model? ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Since every DevOps implementation is unique to the company’s business needs, there really is no one-size-fits-all ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/devops/model/"},"content":[{"nodeType":"text","value":"DevOps model","marks":[],"data":{}}]},{"nodeType":"text","value":". However, the core philosophies of DevOps include the breaking down of silos, and the ideas that everyone should take responsibility for a product and work together as a team across all parts of the SDLC. ","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"Benefits of DevOps","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Traditional deployments are difficult, manual, and often break down, leading to employee burnout and unsustainable release cycles. In comparison, ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://octoverse.github.com/"},"content":[{"nodeType":"text","value":"recent research","marks":[],"data":{}}]},{"nodeType":"text","value":" shows that using DevOps methodologies and principles like automation drive productivity and improve the developer experience. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps makes software development faster, friendlier, and more collaborative. Engineers who work on DevOps teams focus on their goals, prioritize work-life balance, and get more time for the projects they care about. This type of satisfaction builds on what we know from organizational psychology: Teams do their best work when they’re personally invested in the outcome.","marks":[],"data":{}}]},{"nodeType":"unordered-list","data":{},"content":[{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Improved productivity","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":": ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=EyiYQAD3Gug"},"content":[{"nodeType":"text","value":"Reduce manual tasks","marks":[],"data":{}}]},{"nodeType":"text","value":" and gain consistency, reliability, and efficiency.","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Cloud-ready code: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=UVb68E_WDKI"},"content":[{"nodeType":"text","value":"Easily provision environments in the cloud","marks":[],"data":{}}]},{"nodeType":"text","value":" to help teams work faster at scale and meet demand.","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Security: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/learn/security"},"content":[{"nodeType":"text","value":"Protect customers and code","marks":[],"data":{}}]},{"nodeType":"text","value":" while managing access across locations and environments.","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Collaboration: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Build and foster a ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=n-rNlaWg2ms"},"content":[{"nodeType":"text","value":"collaborative culture","marks":[],"data":{}}]},{"nodeType":"text","value":" with improved communication. ","marks":[],"data":{}}]}]}]},{"nodeType":"embedded-entry-block","data":{"target":{"sys":{"id":"Nziv2YUbfaqIRLkKNY1DD","type":"Link","linkType":"Entry"}}},"content":[]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"How DevOps works","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"The DevOps lifecycle","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The DevOps lifecycle spans all aspects of software development. DevOps teams collaborate continuously and share tools and responsibilities across all lifecycle phases to efficiently build and ship software.","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"Four phases of the DevOps lifecycle","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Idea","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Teams gather requirements and feedback and start sketching out the resources they’ll need. DevOps teams focus on continuous planning—plans that can be updated frequently, even daily. To build out roadmaps and track progress towards their goals, teams leverage project management tools everyone can access and use. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Ideation stack: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"GitHub Issues and Project Boards. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues"},"content":[{"nodeType":"text","value":"Learn more about planning and tracking","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Build","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"As project managers assign tasks, developers get to work. Here, DevOps comes to life. With version control and cloud-based development environments, developers can make ongoing changes and review code together in real time. Tools like GitHub ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/features/codespaces"},"content":[{"nodeType":"text","value":"Codespaces","marks":[],"data":{}}]},{"nodeType":"text","value":" make it easy for developers to quickly, safely, and easily make changes without having to create or persist a desktop development environment. Continuous integration (CI) also kicks in, where automated tools turn code changes into builds, run tests against required checks, and merge and prepare code for deployment. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Continuous integration stack: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"GitHub Codespaces, GitHub Actions. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://docs.github.com/en/actions/guides/about-continuous-integration"},"content":[{"nodeType":"text","value":"Learn more about continuous integration","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Ship","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"After passing initial checks, developers use continuous delivery (CD) tools to automatically push code changes to a non-production testing or staging environment. Operations teams can immediately deploy the changes to production, without any surprises. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Continuous deployment stack: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"CD pipelines with GitHub Actions, GitHub Packages, Microsoft Azure. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=pfnGHNYQcg0"},"content":[{"nodeType":"text","value":"Learn more about deployment","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Learn","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Software may be out in the world, but the work isn’t over. Operations teams keep an eye on releases with monitoring tools that measure performance and monitor the impact of code changes. They ensure stability and uptime, gather customer feedback, and stay in close contact with developers to push required fixes and address incidents faster. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Observability stack: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Netdata, Lightstep, New Relic, App Dynamics, Sentry, Raygun, Honeycomb, Splunk","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Automation at every step","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps emphasizes automation alongside collaboration for quicker releases. Automating tasks via CI/CD in a DevOps pipeline accelerates software development and deployment and helps ensure high-quality output with testing, reporting, and monitoring.\n","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.blog/2020-10-29-getting-started-with-devops-automation/"},"content":[{"nodeType":"text","value":"Learn more about automation ","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"Adopting a DevOps model and culture","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Successful DevOps depends on cultural change—adopting a collaboration-first approach to software originally developed by open source teams. In ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/open-source/what-is-open-source-software/"},"content":[{"nodeType":"text","value":"open source","marks":[],"data":{}}]},{"nodeType":"text","value":", developers encourage transparency, shared workloads, continuous feedback and reviews, and robust documentation. Industry reports like ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.devops-research.com/research.html"},"content":[{"nodeType":"text","value":"DORA","marks":[],"data":{}}]},{"nodeType":"text","value":"’s State of DevOps from researchers Nicole Forsgren, Jez Humble and Gene Kim, and popular DevOps frameworks like ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://devops.com/using-calms-to-assess-organizations-devops/"},"content":[{"nodeType":"text","value":"CALMS","marks":[],"data":{}}]},{"nodeType":"text","value":" often use these best practices as benchmarks for a successful DevOps culture.","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Collaboration","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=HyvZO5vvOas"},"content":[{"nodeType":"text","value":"Collaboration","marks":[],"data":{}}]},{"nodeType":"text","value":" is at the heart of DevOps. Developers and operations teams regularly communicate about timelines and goals, and everyone is responsible for the project’s success.","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Automation","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"As teams work together and share tools, automation supports consistency, reliability, and efficiency across the organization so it’s easier to discover and troubleshoot problems. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Transparency","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Ongoing feedback and open access to repositories encourages collaboration within and outside individual teams. It also promotes ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://www.youtube.com/watch?v=RDqEP1fhDNM\u0026list=PL0lo9MOBetEGx6P7vI85aDfD4I2WNMdUG\u0026index=3"},"content":[{"nodeType":"text","value":"InnerSource","marks":[],"data":{}}]},{"nodeType":"text","value":", the process of using open source best practices to build internal code. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Evolved DevOps operations","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"With DevOps, operations teams are now embedded in development and have a stake in empowering developers. This often means working more closely with developers to provide on-demand access to compliant, secure environments and tools. It also means turning to automation for more of their own repeatable tasks, such as updating systems and resolving incidents. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Effective DevOps management","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps managers are responsible for the implementation of the DevOps framework throughout the development and deployment process. This includes taking responsibility for successful software delivery, monitoring workflows, and overseeing software release management. Effective DevOps managers are leaders with excellent interpersonal and problem-solving skills, and a strong technical background. ","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"DevOps best practices for implementation","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevOps is implemented by following DevOps practices throughout the application lifecycle. Some practices help speed, improve, and automate a specific DevOps phase, and some practices help improve productivity across several phases. ","marks":[],"data":{}}]},{"nodeType":"embedded-entry-block","data":{"target":{"sys":{"id":"63Bgt8kWmbh7One82voCyK","type":"Link","linkType":"Entry"}}},"content":[]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Continuous integration","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Developers use CI to automate, merge, and test code. CI helps catch bugs early in the development cycle when they’re less expensive to fix. CI also executes automated tests to help ensure quality. To drive frequent deployments, teams use CI to produce deployable artifacts, including infrastructure and apps, that feed release processes. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Continuous deployment","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"In this process, code is built, tested, and deployed to test in production environments. To increase quality, teams deploy and test in multiple environments. CD systems are also used for automated release processes and fixes to existing software. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Version control","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Using version control is a fundamental DevOps practice that empowers several developers to collaborate on authoring code. A version control system provides a clear process to merge code changes, resolve conflicts, and roll back changes to earlier versions when needed. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Agile software development","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Through short release cycles, the agile software development approach enables high adaptability to change. Agile teams provide continual improvements to their customers, collect feedback, and adjust based on customer needs and wants. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Infrastructure as code","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"By defining system topologies and resources in a descriptive manner, infrastructure as code empowers teams to manage resources like they manage code. This helps them deploy system resources in a repeatable, reliable, and controlled way, and maintain testing and development environments that are identical to production. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Configuration management","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Configuration management means managing the state of resources in a system, including databases, virtual machines, and servers. Configuration management tools help teams reduce risk by rolling out changes in a systematic, controlled way. Teams also use these tools to track system state and operate complex environments at scale. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Continuous monitoring","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Through continuous monitoring, teams gain full, real-time visibility into the health and performance of the entire application stack. High-performing DevOps teams make sure they set meaningful, actionable alerts and collect rich telemetry event and log data. Insights derived from this data help the team mitigate issues in real time and improve the application in future releases. ","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"What can you do with DevOps?","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"See how high-performing teams put collaboration and automation to work.","marks":[],"data":{}}]},{"nodeType":"unordered-list","data":{},"content":[{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Mckesson Labs: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Building a cohesive DevOps technology stack. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/mckesson"},"content":[{"nodeType":"text","value":"Explore Mckesson","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Dell Technologies: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Standardizing to support innersource and scalability. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/dell"},"content":[{"nodeType":"text","value":"Explore Dell Technologies","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The Home Depot: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Modernizing infrastructure and developer tooling. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/homedepot"},"content":[{"nodeType":"text","value":"Explore The Home Depot","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Dow Jones: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Bringing automated security to CI/CD pipelines. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/dow-jones"},"content":[{"nodeType":"text","value":"Explore Dow Jones","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Autodesk: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Improving collaboration and reliability in the cloud. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/autodesk"},"content":[{"nodeType":"text","value":"Explore Autodesk","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]},{"nodeType":"list-item","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"American Airlines: ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"Fostering innovation by using GitHub as an incubator for ideas. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/customer-stories/american-airlines"},"content":[{"nodeType":"text","value":"Explore American Airlines","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]}]}]},{"nodeType":"embedded-entry-block","data":{"target":{"sys":{"id":"5TjKMWITaW9U40KGjiEB66","type":"Link","linkType":"Entry"}}},"content":[]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"DevOps and DevSecOps","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"What is DevSecOps?","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Like development and operations, DevSecOps integrates automated security testing into every part of DevOps culture, tooling, and processes. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/devops/fundamentals/devsecops/"},"content":[{"nodeType":"text","value":"Learn more about DevSecOps ","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"For many practitioners, security was always meant to be part of DevOps. Instead of happening at the end of the SDLC, DevOps security starts at the source: Code. This approach is commonly known as ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.blog/2020-04-28-how-to-build-an-effective-devsecops-culture/"},"content":[{"nodeType":"text","value":"DevSecOps","marks":[],"data":{}}]},{"nodeType":"text","value":" or “shifting left.” GitHub has always considered good DevOps to mean DevSecOps, and GitHub tools make it easier for DevOps teams to include security at every step of the SDLC. ","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Using automated security tools, developers find and address security vulnerabilities as they code instead of waiting for security teams to address them after deployment. By empowering developers to take responsibility for security throughout the DevOps lifecycle, DevSecOps allows development, operations, and security teams to find and remediate security issues faster. ","marks":[],"data":{}}]},{"nodeType":"embedded-entry-block","data":{"target":{"sys":{"id":"6lNGmm62hcKFK8O3A9wP2j","type":"Link","linkType":"Entry"}}},"content":[]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-2","data":{},"content":[{"nodeType":"text","value":"DevOps products","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Each phase of the DevOps lifecycle has unique considerations that one or more products can help solve. Organizations might invest in building out a collection of tools to use in its DevOps practice, called a “DevOps Toolchain” to address each phase of the lifecycle. The most successful DevOps organizations will have these types of tools to help them deliver higher-quality software faster. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/devops/tools/compare/"},"content":[{"nodeType":"text","value":"See how GitHub compares to other DevOps platforms ","marks":[],"data":{}}]},{"nodeType":"text","value":"","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"CI/CD","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Throughout this article, we’ve discussed how CI/CD is fundamental to any DevOps practice. ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/features/actions"},"content":[{"nodeType":"text","value":"GitHub Actions","marks":[],"data":{}}]},{"nodeType":"text","value":", a complete CI/CD DevOps software solution, empowers DevOps teams to build more secure code from the start and deploy software with confidence—without sacrificing speed. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Workflow automation","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Automation is another fundamental component of DevOps and ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/features/actions"},"content":[{"nodeType":"text","value":"GitHub Actions","marks":[],"data":{}}]},{"nodeType":"text","value":" makes it easy to automate DevOps software workflows, with world-class CI/CD. This includes code reviews, branch management, and issue triaging. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Version and source control","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"The best version and source control platforms, like ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://docs.github.com/en/repositories"},"content":[{"nodeType":"text","value":"GitHub","marks":[],"data":{}}]},{"nodeType":"text","value":", integrate with the organization’s DevOps toolchain and empower product teams to collaborate throughout the DevOps lifecycle. They include productivity features like ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests"},"content":[{"nodeType":"text","value":"pull requests","marks":[],"data":{}}]},{"nodeType":"text","value":", which help developers get reviews on proposed code changes before they’re integrated into the main code branch. ","marks":[],"data":{}}]},{"nodeType":"heading-3","data":{},"content":[{"nodeType":"text","value":"Security","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Companies that invest in DevOps often invest in several tools to model threats and apply automated security testing. Integrated solutions like ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://github.com/features/security"},"content":[{"nodeType":"text","value":"GitHub Advanced Security","marks":[],"data":{}}]},{"nodeType":"text","value":" help ensure software security through every phase of the SDLC. For example, GitHub Advanced Security scans code as it’s created to help developers secure their code in minutes, watches their repositories, and notifies them of secrets issued by more than 45 leading secret providers, and helps turn security best practices into better development processes. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1Svb0At16nDGdywAJZaWAE","type":"Entry","createdAt":"2024-07-02T17:03:05.874Z","updatedAt":"2024-07-29T11:12:27.535Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":12,"revision":3,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"templateResourcesArticle"}},"locale":"en-US"},"fields":{"title":"What is DevOps?","excerpt":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. ","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"lede":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"DevOps is a holistic business practice that combines people, technologies, cultural practices, and processes to bring previously siloed teams together to deliver better software faster. Successful DevOps implementations are viewed as an organizational change when it comes to software development. Learn about DevOps and how to optimize software delivery with DevOps throughout the software development lifecycle (SDLC).","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"content":{"sys":{"type":"Link","linkType":"Entry","id":"1JOu7hLywBizvWuL9ojHXZ"}},"featuredCallToAction":{"sys":{"type":"Link","linkType":"Entry","id":"6ZAuiUwR9hiOyLxprdTRJ5"}},"ctaBanner":{"sys":{"type":"Link","linkType":"Entry","id":"6lVU4Pm1T7IvCUiXwCN6xQ"}},"faq":{"sys":{"type":"Link","linkType":"Entry","id":"3m1yLP3zG9HsVszGxnuJLA"}}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1TeiFgoWgiq97P8vMBHlnM","type":"Entry","createdAt":"2024-07-02T17:03:06.384Z","updatedAt":"2024-07-02T17:03:06.384Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"link"}},"locale":"en-US"},"fields":{"text":"Get a GitHub demo","href":"https://resources.github.com/demo/","openInNewTab":false}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1Ua9Bw1w51wUXMcfcwDMCS","type":"Entry","createdAt":"2024-07-02T17:03:06.828Z","updatedAt":"2024-07-02T17:03:06.828Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What is the difference between DevOps and SRE?","question":"What is the difference between DevOps and SRE?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Both DevOps and site reliability engineering (SRE) enhance the software development lifecycle by improving automation, collaboration, and monitoring. The main difference is that DevOps teams build and update software while SRE teams work with software that’s already in production to make sure it functions correctly and meets service level commitments. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1X44f734P1aaEwMttD2L4u","type":"Entry","createdAt":"2024-06-24T17:02:52.263Z","updatedAt":"2024-11-18T18:48:47.504Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":10,"revision":4,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"link"}},"locale":"en-US"},"fields":{"text":"Start your journey with GitHub","href":"https://github.com/solutions/devops","openInNewTab":false}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"1azFl1xQJCXR2u1CEzaUUG","type":"Entry","createdAt":"2024-07-02T17:03:06.910Z","updatedAt":"2024-07-02T17:03:06.910Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What is the difference between DevOps and DevSecOps?","question":"What is the difference between DevOps and DevSecOps?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"DevSecOps builds on DevOps by integrating automated security testing into every part of DevOps culture, tooling, and processes. This helps developers find and address security vulnerabilities as they code instead of waiting for security teams to address them after deployment. By empowering developers to take responsibility for security throughout the DevOps lifecycle, DevSecOps allows development, operations, and security teams to find and remediate security issues faster. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"2SOYNvgYAJx0SPbL3sK0T8","type":"Entry","createdAt":"2024-07-02T17:03:06.787Z","updatedAt":"2024-07-02T17:03:06.787Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":7,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqBlock"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops FAQ","questions":[{"sys":{"type":"Link","linkType":"Entry","id":"017l76xxRq7lQH8hJZeKB8"}},{"sys":{"type":"Link","linkType":"Entry","id":"1Ua9Bw1w51wUXMcfcwDMCS"}},{"sys":{"type":"Link","linkType":"Entry","id":"2TiodqWtfrjcDtneOmcsRr"}},{"sys":{"type":"Link","linkType":"Entry","id":"1azFl1xQJCXR2u1CEzaUUG"}},{"sys":{"type":"Link","linkType":"Entry","id":"5M7UfsKrrKQAFr6eC1Q0PS"}},{"sys":{"type":"Link","linkType":"Entry","id":"4uhaobi38kJHzihz3i52Gp"}}]}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"2TiodqWtfrjcDtneOmcsRr","type":"Entry","createdAt":"2024-07-02T17:03:06.887Z","updatedAt":"2024-07-02T17:03:06.887Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What is the DevOps model?","question":"What is the DevOps model?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Since every DevOps implementation is unique to the company’s business needs, there really is no one-size-fits-all ","marks":[],"data":{}},{"nodeType":"hyperlink","data":{"uri":"https://resources.github.com/devops/model/"},"content":[{"nodeType":"text","value":"DevOps model","marks":[],"data":{}}]},{"nodeType":"text","value":". However, the core philosophies of DevOps include the breaking down of silos, and the ideas that everyone should take responsibility for a product and work together as a team across all parts of the SDLC. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"3Zq1RIxe0CfBghgKwudQbU","type":"Entry","createdAt":"2024-07-02T17:03:06.361Z","updatedAt":"2024-07-02T17:03:06.361Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"link"}},"locale":"en-US"},"fields":{"text":"Explore best practices","href":"https://resources.github.com/devops/build-your-devops-practice-on-github/","openInNewTab":false}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"3m1yLP3zG9HsVszGxnuJLA","type":"Entry","createdAt":"2024-07-02T17:03:06.405Z","updatedAt":"2024-07-02T17:03:06.405Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqGroup"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops FAQ","heading":"Frequently asked questions","faqs":[{"sys":{"type":"Link","linkType":"Entry","id":"5Z1KfDJcmmgl2IegLhPvOz"}}]}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"3q5hbtSalofYOMhRXId8CX","type":"Entry","createdAt":"2024-07-02T17:03:07.027Z","updatedAt":"2024-07-02T17:03:07.027Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"pageSeo"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops","description":"DevOps is a set of practices, methodologies, and tools that optimize software application delivery by integrating software development and IT operations processes. ","socialMediaImage":{"sys":{"type":"Link","linkType":"Asset","id":"2EitsBJ5cRaCA6N3FWpHS"}}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"3w2NT5foNFBog6QyIZkBs8","type":"Entry","createdAt":"2024-07-02T17:03:07.011Z","updatedAt":"2024-11-19T15:56:24.492Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":5,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"pageSettings"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops","featureFlag":"contentful_lp_seo_pages","colorMode":"light","globalNavbarStyle":"default","revenuePlay":"Platform"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"4uhaobi38kJHzihz3i52Gp","type":"Entry","createdAt":"2024-07-02T17:03:06.990Z","updatedAt":"2024-07-02T17:03:06.990Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What does a DevOps Engineer do?","question":"What does a DevOps Engineer do?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"A DevOps Engineer plays an important role in the DevOps lifecycle by continuously managing team communications and designing and implementing strategies. In addition to code-related tasks, the DevOps Engineer is responsible for solving issues related to testing, monitoring, release management, and operational planning. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"5M7UfsKrrKQAFr6eC1Q0PS","type":"Entry","createdAt":"2024-07-02T17:03:06.933Z","updatedAt":"2024-07-02T17:03:06.933Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaqQuestion"}},"locale":"en-US"},"fields":{"title":"What is considered good DevOps?","question":"What is considered good DevOps?","answer":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Good DevOps combines “development” and “operations” to bring teams together to deliver better software, faster. Best practices to benchmark DevOps success include collaboration, automation of repetitive tasks, and transparency, such as ongoing feedback and open access to repositories. ","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"5TjKMWITaW9U40KGjiEB66","type":"Entry","createdAt":"2024-07-02T17:23:21.852Z","updatedAt":"2024-07-02T17:23:21.852Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentBlockquote"}},"locale":"en-US"},"fields":{"title":"The access, sharing, and collaboration that happens when we’re all one organization is fantastic.","quote":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"The access, sharing, and collaboration that happens when we’re all one organization is fantastic.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"caption":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Cynthia Payne, Vice President of IT App Services at Nationwide","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"\n","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"5Z1KfDJcmmgl2IegLhPvOz","type":"Entry","createdAt":"2024-07-02T17:03:06.689Z","updatedAt":"2024-07-02T17:03:06.689Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentFaq"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops FAQ","heading":"Frequently asked questions","blocks":[{"sys":{"type":"Link","linkType":"Entry","id":"2SOYNvgYAJx0SPbL3sK0T8"}}]}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"63Bgt8kWmbh7One82voCyK","type":"Entry","createdAt":"2024-07-02T17:20:00.330Z","updatedAt":"2024-07-02T17:20:00.330Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":6,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentBlockquote"}},"locale":"en-US"},"fields":{"title":"We’ve seen significant savings for our organization and now our engineers have even more time to spend in what matters the most, the business logic.","quote":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"We’ve seen significant savings for our organization and now our engineers have even more time to spend in what matters the most, the business logic.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"caption":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Stuart Davidson, Engineering Manager at Skyscanner","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"6ZAuiUwR9hiOyLxprdTRJ5","type":"Entry","createdAt":"2024-06-24T17:02:52.244Z","updatedAt":"2024-11-18T18:48:47.487Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":9,"revision":3,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"genericCallToAction"}},"locale":"en-US"},"fields":{"heading":"GitHub’s DevOps Solution","description":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Learn why 90% of the Fortune 100 use GitHub to build, scale, and deliver secure software.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"callToActionPrimary":{"sys":{"type":"Link","linkType":"Entry","id":"1X44f734P1aaEwMttD2L4u"}}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"6lNGmm62hcKFK8O3A9wP2j","type":"Entry","createdAt":"2024-07-02T17:23:21.872Z","updatedAt":"2024-07-02T17:23:21.872Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":5,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentBlockquote"}},"locale":"en-US"},"fields":{"title":"You fix it and you move forward, because guess what? It takes you a minute to solve that security issue in development when it could potentially take you days in production.","quote":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"You fix it and you move forward, because guess what? It takes you a minute to solve that security issue in development when it could potentially take you days in production.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"caption":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Shamal Siwan, Lead DevOps Engineer/Solutions Architect at California Department of Technology","marks":[],"data":{}}]},{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"\n","marks":[],"data":{}}]}]}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"6lVU4Pm1T7IvCUiXwCN6xQ","type":"Entry","createdAt":"2024-07-02T17:03:06.261Z","updatedAt":"2024-07-02T17:03:06.261Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":7,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentCtaBanner"}},"locale":"en-US"},"fields":{"title":"/resources/articles/devops CTA Banner","align":"center","heading":"Start building your DevOps workflow","description":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Whether you’re ready to dive in or still have questions, we’ve got you covered.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"hasBackground":true,"hasShadow":false,"hasBorder":true,"callToActionPrimary":{"sys":{"type":"Link","linkType":"Entry","id":"3Zq1RIxe0CfBghgKwudQbU"}},"callToActionSecondary":{"sys":{"type":"Link","linkType":"Entry","id":"1TeiFgoWgiq97P8vMBHlnM"}}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"Nziv2YUbfaqIRLkKNY1DD","type":"Entry","createdAt":"2024-07-02T17:16:34.694Z","updatedAt":"2024-07-02T17:16:34.694Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"primerComponentBlockquote"}},"locale":"en-US"},"fields":{"title":"We’ve gone from over 30 siloed software engineering groups to a largely cohesive team. By using standards and automation, the DevOps journey is now three steps.","quote":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"We’ve gone from over 30 siloed software engineering groups to a largely cohesive team. By using standards and automation, the DevOps journey is now three steps.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"caption":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Denis CantyMcKesson Labs // Vice President of Developer Services and Technology Labs","marks":[],"data":{}}]}]}}}],"Asset":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"8aevphvgewt8"}},"id":"2EitsBJ5cRaCA6N3FWpHS","type":"Asset","createdAt":"2024-07-02T17:03:05.736Z","updatedAt":"2024-07-02T17:03:05.736Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"An image with a dark background features two enterprise-themed shapes in the top left and bottom right. Centered text in the foreground reads \"What is DevOps? Meaning, Processes \u0026 Best Practices.\"","description":"An image with a dark background features two enterprise-themed shapes in the top left and bottom right. Centered text in the foreground reads \"What is DevOps? Meaning, Processes \u0026 Best Practices.\"","file":{"url":"//images.ctfassets.net/8aevphvgewt8/2EitsBJ5cRaCA6N3FWpHS/092f2f8c071ddd593d082731096efbce/3cbfbbc2-8cfd-417e-9873-86856c81f429-1200x630__1_.png","details":{"size":31226,"image":{"width":1200,"height":630}},"fileName":"3cbfbbc2-8cfd-417e-9873-86856c81f429-1200x630__1_.png","contentType":"image/png"}}}]}},"userLoggedIn":false},"title":"What is DevOps?","appPayload":null}</script> <div data-target="react-app.reactRoot"> <div data-color-mode="light" dir="ltr" class="Article-module__articlePageBody--NesIo" style="background-color:var(--brand-color-canvas-default)"> <div class="Primer_Brand__Grid-module__Grid___q48mT" data-testid="Grid-:R1b:"> <div class="Primer_Brand__Grid-module__Grid__column___HTpsw Primer_Brand__Grid-module__Grid__column--span-12___Tn1Hg"> <section> <div id=":R5b:"> <header> <div class="Primer_Brand__Box-module__Box-marginBlockStart--20___gqeBE"> <nav class="Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW" aria-label="Breadcrumbs"> <ol class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw"> <li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><a href="https://github-com.translate.goog/resources/articles?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd" data-analytics-event="{&quot;action&quot;:&quot;articles&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;breadcrumb&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;articles_link_breadcrumb_header&quot;}" data-ref="article-breadcrumb-link-Articles">Articles</a></li> <li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><a href="https://github-com.translate.goog/resources/articles/devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;breadcrumb&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;devops_link_breadcrumb_header&quot;}" data-ref="article-breadcrumb-link-DevOps">DevOps</a></li> </ol> </nav> <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Articles","item":"https://github.com/resources/articles"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https://github.com/resources/articles/devops"}]}</script> </div> <div class="Primer_Brand__Box-module__Box-marginBlockStart--64___oLHvC Primer_Brand__Box-module__Box-marginBlockEnd--32___W5xYE"> <h1 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--hubot-sans___w3_5f Primer_Brand__Heading-module__Heading--1___Ufc7G Primer_Brand__Heading-module__Heading--weight-semibold___NMvbh Primer_Brand__Heading-module__Heading--stretch-condensed____i8A2">What is DevOps?</h1> </div> </header> <article> <div class="Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--48___OPwru Primer_Brand__Box-module__Box-narrow-marginBlockEnd--48___u5_N1"> <div class="Primer_Brand__Box-module__Box-narrow-marginBlockEnd--64___iRYFP Primer_Brand__Box-module__Box-wide-marginBlockEnd--80___Jqalb Primer_Brand__Box-module__Box-borderRadius--large___CCcts Article-module__heroImageArea--uMGs5"></div> <div class="Primer_Brand__Grid-module__Grid___q48mT" data-testid="Grid-:R5tb:"> <div class="Primer_Brand__Grid-module__Grid__column___HTpsw Primer_Brand__Grid-module__Grid__column--xsmall-span-12___brXS7 Primer_Brand__Grid-module__Grid__column--large-span-4___eJREG Primer_Brand__Grid-module__Grid__column--xsmall-start-1___Y9JJq Primer_Brand__Grid-module__Grid__column--large-start-10___rOnsb Article-module__asideCol--FNvxD"> <aside class="TableofContents-module__aside--MgSe7 "> <nav aria-labelledby="table-of-contents-heading"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-64___XKCAY Primer_Brand__Stack-module__Stack--padding-none___RCMh9 TableofContents-module__asideContent--XghGT "> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-24___TQnkj Primer_Brand__Stack-module__Stack--padding-none___RCMh9" data-testid="table-of-contents-stack"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--horizontal___YJFas Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--align-items-center___xWKxj Primer_Brand__Stack-module__Stack--justify-content-space-between___r8E3d Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <h2 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--monospace___dFpiK Primer_Brand__Heading-module__Heading--subhead-medium___Pik5E Primer_Brand__Heading-module__Heading--weight-medium___II172 TableofContents-module__asideHeading--PAQkG" id="table-of-contents-heading">Table of contents</h2><button data-analytics-event="{&quot;action&quot;:&quot;expand_table_of_contents_menu&quot;,&quot;tag&quot;:&quot;icon&quot;,&quot;context&quot;:&quot;menu_toggle&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;expand_table_of_contents_menu_icon_menu_toggle_table_of_contents&quot;}" data-ref="table-of-contents-menu-toggle-2HRAKtxanOLHiKuY8DHxxB" class="TableofContents-module__tableOfContentsMenuToggle--ATCTT"><span class="sr-only">Open<!-- --> Table of contents</span> <svg aria-hidden="true" focusable="false" class="octicon octicon-chevron-down" viewbox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg></button> </div> <div class="TableofContents-module__tableOfContentsNav--m47_w "> <ol class="TableofContents-module__tableOfContentsList--si7P_"> <li><a data-analytics-event="{&quot;action&quot;:&quot;defining_devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;defining_devops_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-defining-devops" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#defining-devops" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">Defining DevOps</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;bridging_the_gap_between_operations_and_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;bridging_the_gap_between_operations_and_development_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-bridging-the-gap-between-operations-and-development-" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#bridging-the-gap-between-operations-and-development-" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">Bridging the gap between operations and development </span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;what_is_a_devops_model&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;what_is_a_devops_model_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-what-is-a-devops-model-" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#what-is-a-devops-model-" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">What is a DevOps model? </span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;benefits_of_devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;benefits_of_devops_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-benefits-of-devops" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#benefits-of-devops" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">Benefits of DevOps</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;how_devops_works&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;how_devops_works_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-how-devops-works" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#how-devops-works" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">How DevOps works</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;four_phases_of_the_devops_lifecycle&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;four_phases_of_the_devops_lifecycle_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-four-phases-of-the-devops-lifecycle" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#four-phases-of-the-devops-lifecycle" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">Four phases of the DevOps lifecycle</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;adopting_a_devops_model_and_culture&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;adopting_a_devops_model_and_culture_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-adopting-a-devops-model-and-culture" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#adopting-a-devops-model-and-culture" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">Adopting a DevOps model and culture</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;devops_best_practices_for_implementation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;devops_best_practices_for_implementation_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-devops-best-practices-for-implementation" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#devops-best-practices-for-implementation" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">DevOps best practices for implementation</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;what_can_you_do_with_devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;what_can_you_do_with_devops_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-what-can-you-do-with-devops" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#what-can-you-do-with-devops" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">What can you do with DevOps?</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;devops_and_devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;devops_and_devsecops_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-devops-and-devsecops" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#devops-and-devsecops" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">DevOps and DevSecOps</span></a></li> <li><a data-analytics-event="{&quot;action&quot;:&quot;devops_products&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;anchor_link&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;devops_products_link_anchor_link_table_of_contents&quot;}" data-ref="table-of-contents-list-item-link-2HRAKtxanOLHiKuY8DHxxB-devops-products" href="https://github-com.translate.goog/resources/articles/devops/what-is-devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB#devops-products" class="TableofContents-module__linkButton--NFOgJ TableofContents-module__tableOfContentsListItem--zoxo4"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-normal___siVLX TableofContents-module__listItemText--ihBEh">DevOps products</span></a></li> </ol> </div> </div> <div class="Primer_Brand__Box-module__Box-paddingBlockStart--8___TNzCC Primer_Brand__Box-module__Box-borderBlockStartWidth--thin___y3sZf Primer_Brand__Box-module__Box-borderColor--muted___S3wPy Primer_Brand__Box-module__Box-borderStyle--solid___ejOCw TableofContents-module__tableOfContentsFeaturesBox--dKTWP"> <h3 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--monospace___dFpiK Primer_Brand__Heading-module__Heading--subhead-medium___Pik5E Primer_Brand__Heading-module__Heading--weight-medium___II172 FeaturedContent-module__asideHeading--dlmfU">Featured</h3> <div class="Primer_Brand__Box-module__Box-marginBlockStart--24___puxKK"> <div class="Primer_Brand__Box-module__Box-marginBlockEnd--4___uZDEK"> <h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-medium___Pik5E">GitHub’s DevOps Solution</h4> </div> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom">Learn why 90% of the Fortune 100 use GitHub to build, scale, and deliver secure software.</p> </div> <div class="Primer_Brand__Box-module__Box-marginBlockStart--16___plaHc"> <a class="Primer_Brand__Button-module__Button___lDruK Primer_Brand__Button-module__Button--primary___xIC7G Primer_Brand__Button-module__Button--size-small___iNTn1" data-analytics-event="{&quot;action&quot;:&quot;start_your_journey_with_github&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;context&quot;:&quot;featured_CTA&quot;,&quot;location&quot;:&quot;table_of_contents&quot;,&quot;label&quot;:&quot;start_your_journey_with_github_button_featured_CTA_table_of_contents&quot;}" data-ref="featured-content-cta-6ZAuiUwR9hiOyLxprdTRJ5" href="https://github-com.translate.goog/solutions/devops?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB"><span class="Primer_Brand__Button-module__Button__text___Z3ocU"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-semibold___Ns19j Primer_Brand__Button-module__Button--label___lUBc0 Primer_Brand__Button-module__Button--label-primary___Leisi">Start your journey with GitHub</span></span><span class="Primer_Brand__Button-module__Button__trailing-visual___zg8jd"> <svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___rkfek Primer_Brand__Button-module__Button-arrow___SkJXQ" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-hidden="true" focusable="false" data-testid="Button-expandable-arrow"> <path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___g4mdy" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> </svg></span></a> </div> </div> </div> </nav> </aside> </div> <div class="Primer_Brand__Grid-module__Grid__column___HTpsw Primer_Brand__Grid-module__Grid__column--xsmall-span-12___brXS7 Primer_Brand__Grid-module__Grid__column--large-span-9___aamnY Article-module__articleCol--oHHFj"> <div class="Primer_Brand__Grid-module__Grid___q48mT" data-testid="Grid-:R3dtb:"> <div class="Primer_Brand__Grid-module__Grid__column___HTpsw Primer_Brand__Grid-module__Grid__column--xsmall-span-12___brXS7 Primer_Brand__Grid-module__Grid__column--large-span-11___mDo3B"> <div class="Primer_Brand__Box-module__Box-narrow-marginBlockEnd--24___oh65t Primer_Brand__Box-module__Box-wide-marginBlockEnd--48___X5ONp"> <header> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--hubot-sans___l0tzF Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--500___orDRu Primer_Brand__Text-module__Text--weight-medium___E0iQL Lede-module__lede--Z6dMJ">DevOps is a holistic business practice that combines people, technologies, cultural practices, and processes to bring previously siloed teams together to deliver better software faster. Successful DevOps implementations are viewed as an organizational change when it comes to software development. Learn about DevOps and how to optimize software delivery with DevOps throughout the software development lifecycle (SDLC).</p> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--hubot-sans___l0tzF Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--500___orDRu Primer_Brand__Text-module__Text--weight-medium___E0iQL Lede-module__lede--Z6dMJ"></p> </header> </div> </div> </div> <div> <div class="Primer_Brand__Prose-module__Prose___X2BXE Primer_Brand__Prose-module__Prose--lineLength___ws7gn Primer_Brand__Prose-module__Prose--editorial___DtuDo"> <h2 id="defining-devops">Defining DevOps</h2> <p>By bringing people, processes, and products together, DevOps enables development teams to continuously deliver value to their customers.</p> <h3 id="what-do-we-mean-when-we-say-devops">What do we mean when we say DevOps?</h3> <p>When it comes to the meaning of DevOps, it’s more than just automation. It’s really about organizations following a process enabled by software to help them deliver value. DevOps is a business practice where development, IT operations, and security teams partner to build, test, and provide regular feedback throughout the entire SDLC.</p> <p>To successfully adopt the <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/methodology/" data-analytics-event="{&quot;action&quot;:&quot;devops_methodology&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;devops_methodology_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">DevOps methodology</a>, people shift the way they work and collaborate. From culture change to automation with continuous integration and continuous deployment (CI/CD), let’s explore how DevOps teams develop shared context, expertise, tooling, and roles to ship better products.</p> <h3 id="how-devops-was-created-silos-to-shared-workflows">How DevOps was created: Silos to shared workflows</h3> <p>DevOps sets a new standard for how we build software. Before the mid-2000s, developers, IT operations, and security teams typically worked in silos and followed a linear process:</p> <ul> <li><p>Developers wrote code, packaged the application with documentation, and shipped it to QA.</p></li> <li><p>The QA team tested the application and handed it off to the production operations team.</p></li> <li><p>The operations team deployed the software to production and managed the software’s uptime and stability—with little or no direct interaction with the development team.</p></li> <li><p>The security team only checked code for vulnerabilities after deployment.</p></li> <li><p>If someone reported an issue, the entire process started over again.</p></li> </ul> <p>This linear approach to software development was slow and frustrating for everyone involved. Then in 2008, system administrator Patrick Debois and software developer Andrew Shafer created a working group to help bridge the gap between operations and development teams. Their best practices started the journey toward the DevOps processes we know today.</p> <p><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3Dy6ZSgiBHLXc%26list%3DPL0lo9MOBetEGx6P7vI85aDfD4I2WNMdUG%26index%3D8" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_the_history_of_devops&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_the_history_of_devops_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer"><b>Learn more about the history of DevOps</b></a></p> <h2 id="bridging-the-gap-between-operations-and-development-">Bridging the gap between operations and development</h2> <p>In a DevOps culture, teams work closely together in a shared workflow to continuously improve their software delivery and management processes. The <a href="https://github-com.translate.goog/resources/articles/devops/what-is-a-devops-engineer?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;devops_engineer&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;devops_engineer_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">DevOps Engineer</a> plays an important role by continuously managing team communications and designing and implementing strategies. In addition to code-related tasks, the DevOps Engineer is responsible for solving issues related to testing, monitoring, release management, and operational planning.</p> <h2 id="what-is-a-devops-model-">What is a DevOps model?</h2> <p>Since every DevOps implementation is unique to the company’s business needs, there really is no one-size-fits-all <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/model/" data-analytics-event="{&quot;action&quot;:&quot;devops_model&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;devops_model_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">DevOps model</a>. However, the core philosophies of DevOps include the breaking down of silos, and the ideas that everyone should take responsibility for a product and work together as a team across all parts of the SDLC.</p> <h2 id="benefits-of-devops">Benefits of DevOps</h2> <p>Traditional deployments are difficult, manual, and often break down, leading to employee burnout and unsustainable release cycles. In comparison, <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://octoverse.github.com/" data-analytics-event="{&quot;action&quot;:&quot;recent_research&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;recent_research_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">recent research</a> shows that using DevOps methodologies and principles like automation drive productivity and improve the developer experience.</p> <p>DevOps makes software development faster, friendlier, and more collaborative. Engineers who work on DevOps teams focus on their goals, prioritize work-life balance, and get more time for the projects they care about. This type of satisfaction builds on what we know from organizational psychology: Teams do their best work when they’re personally invested in the outcome.</p> <ul> <li><p><b>Improved productivity</b>: <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3DEyiYQAD3Gug" data-analytics-event="{&quot;action&quot;:&quot;reduce_manual_tasks&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;reduce_manual_tasks_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Reduce manual tasks</a> and gain consistency, reliability, and efficiency.</p></li> <li><p><b>Cloud-ready code: </b><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3DUVb68E_WDKI" data-analytics-event="{&quot;action&quot;:&quot;easily_provision_environments_in_the_cloud&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;easily_provision_environments_in_the_cloud_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Easily provision environments in the cloud</a> to help teams work faster at scale and meet demand.</p></li> <li><p><b>Security: </b><a href="https://github-com.translate.goog/learn/security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;protect_customers_and_code&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;protect_customers_and_code_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Protect customers and code</a> while managing access across locations and environments.</p></li> <li><p><b>Collaboration: </b>Build and foster a <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3Dn-rNlaWg2ms" data-analytics-event="{&quot;action&quot;:&quot;collaborative_culture&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;collaborative_culture_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">collaborative culture</a> with improved communication.</p></li> </ul> <figure> <blockquote> <p>We’ve gone from over 30 siloed software engineering groups to a largely cohesive team. By using standards and automation, the DevOps journey is now three steps.</p> <figcaption> Denis CantyMcKesson Labs // Vice President of Developer Services and Technology Labs </figcaption> </blockquote> </figure> <h2 id="how-devops-works">How DevOps works</h2> <h3 id="the-devops-lifecycle">The DevOps lifecycle</h3> <p>The DevOps lifecycle spans all aspects of software development. DevOps teams collaborate continuously and share tools and responsibilities across all lifecycle phases to efficiently build and ship software.</p> <h2 id="four-phases-of-the-devops-lifecycle">Four phases of the DevOps lifecycle</h2> <h3 id="idea">Idea</h3> <p>Teams gather requirements and feedback and start sketching out the resources they’ll need. DevOps teams focus on continuous planning—plans that can be updated frequently, even daily. To build out roadmaps and track progress towards their goals, teams leverage project management tools everyone can access and use.</p> <p><b>Ideation stack: </b>GitHub Issues and Project Boards. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_planning_and_tracking&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_planning_and_tracking_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Learn more about planning and tracking</a></p> <h3 id="build">Build</h3> <p>As project managers assign tasks, developers get to work. Here, DevOps comes to life. With version control and cloud-based development environments, developers can make ongoing changes and review code together in real time. Tools like GitHub <a href="https://github-com.translate.goog/features/codespaces?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;codespaces_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Codespaces</a> make it easy for developers to quickly, safely, and easily make changes without having to create or persist a desktop development environment. Continuous integration (CI) also kicks in, where automated tools turn code changes into builds, run tests against required checks, and merge and prepare code for deployment.</p> <p><b>Continuous integration stack: </b>GitHub Codespaces, GitHub Actions. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/en/actions/guides/about-continuous-integration" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_continuous_integration&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_continuous_integration_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Learn more about continuous integration</a></p> <h3 id="ship">Ship</h3> <p>After passing initial checks, developers use continuous delivery (CD) tools to automatically push code changes to a non-production testing or staging environment. Operations teams can immediately deploy the changes to production, without any surprises.</p> <p><b>Continuous deployment stack: </b>CD pipelines with GitHub Actions, GitHub Packages, Microsoft Azure. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3DpfnGHNYQcg0" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_deployment&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_deployment_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Learn more about deployment</a></p> <h3 id="learn">Learn</h3> <p>Software may be out in the world, but the work isn’t over. Operations teams keep an eye on releases with monitoring tools that measure performance and monitor the impact of code changes. They ensure stability and uptime, gather customer feedback, and stay in close contact with developers to push required fixes and address incidents faster.</p> <p><b>Observability stack: </b>Netdata, Lightstep, New Relic, App Dynamics, Sentry, Raygun, Honeycomb, Splunk</p> <h3 id="automation-at-every-step">Automation at every step</h3> <p>DevOps emphasizes automation alongside collaboration for quicker releases. Automating tasks via CI/CD in a DevOps pipeline accelerates software development and deployment and helps ensure high-quality output with testing, reporting, and monitoring. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.blog/2020-10-29-getting-started-with-devops-automation/" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_automation&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_automation_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Learn more about automation </a></p> <h2 id="adopting-a-devops-model-and-culture">Adopting a DevOps model and culture</h2> <p>Successful DevOps depends on cultural change—adopting a collaboration-first approach to software originally developed by open source teams. In <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/open-source/what-is-open-source-software/" data-analytics-event="{&quot;action&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;open_source_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">open source</a>, developers encourage transparency, shared workloads, continuous feedback and reviews, and robust documentation. Industry reports like <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.devops-research.com/research.html" data-analytics-event="{&quot;action&quot;:&quot;dora&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;dora_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">DORA</a>’s State of DevOps from researchers Nicole Forsgren, Jez Humble and Gene Kim, and popular DevOps frameworks like <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://devops.com/using-calms-to-assess-organizations-devops/" data-analytics-event="{&quot;action&quot;:&quot;calms&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;calms_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">CALMS</a> often use these best practices as benchmarks for a successful DevOps culture.</p> <h3 id="collaboration">Collaboration</h3> <p><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3DHyvZO5vvOas" data-analytics-event="{&quot;action&quot;:&quot;collaboration&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;collaboration_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Collaboration</a> is at the heart of DevOps. Developers and operations teams regularly communicate about timelines and goals, and everyone is responsible for the project’s success.</p> <h3 id="automation">Automation</h3> <p>As teams work together and share tools, automation supports consistency, reliability, and efficiency across the organization so it’s easier to discover and troubleshoot problems.</p> <h3 id="transparency">Transparency</h3> <p>Ongoing feedback and open access to repositories encourages collaboration within and outside individual teams. It also promotes <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/watch?v%3DRDqEP1fhDNM%26list%3DPL0lo9MOBetEGx6P7vI85aDfD4I2WNMdUG%26index%3D3" data-analytics-event="{&quot;action&quot;:&quot;innersource&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;innersource_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">InnerSource</a>, the process of using open source best practices to build internal code.</p> <h3 id="evolved-devops-operations">Evolved DevOps operations</h3> <p>With DevOps, operations teams are now embedded in development and have a stake in empowering developers. This often means working more closely with developers to provide on-demand access to compliant, secure environments and tools. It also means turning to automation for more of their own repeatable tasks, such as updating systems and resolving incidents.</p> <h3 id="effective-devops-management">Effective DevOps management</h3> <p>DevOps managers are responsible for the implementation of the DevOps framework throughout the development and deployment process. This includes taking responsibility for successful software delivery, monitoring workflows, and overseeing software release management. Effective DevOps managers are leaders with excellent interpersonal and problem-solving skills, and a strong technical background.</p> <h2 id="devops-best-practices-for-implementation">DevOps best practices for implementation</h2> <p>DevOps is implemented by following DevOps practices throughout the application lifecycle. Some practices help speed, improve, and automate a specific DevOps phase, and some practices help improve productivity across several phases.</p> <figure> <blockquote> <p>We’ve seen significant savings for our organization and now our engineers have even more time to spend in what matters the most, the business logic.</p> <figcaption> Stuart Davidson, Engineering Manager at Skyscanner </figcaption> </blockquote> </figure> <h3 id="continuous-integration">Continuous integration</h3> <p>Developers use CI to automate, merge, and test code. CI helps catch bugs early in the development cycle when they’re less expensive to fix. CI also executes automated tests to help ensure quality. To drive frequent deployments, teams use CI to produce deployable artifacts, including infrastructure and apps, that feed release processes.</p> <h3 id="continuous-deployment">Continuous deployment</h3> <p>In this process, code is built, tested, and deployed to test in production environments. To increase quality, teams deploy and test in multiple environments. CD systems are also used for automated release processes and fixes to existing software.</p> <h3 id="version-control">Version control</h3> <p>Using version control is a fundamental DevOps practice that empowers several developers to collaborate on authoring code. A version control system provides a clear process to merge code changes, resolve conflicts, and roll back changes to earlier versions when needed.</p> <h3 id="agile-software-development">Agile software development</h3> <p>Through short release cycles, the agile software development approach enables high adaptability to change. Agile teams provide continual improvements to their customers, collect feedback, and adjust based on customer needs and wants.</p> <h3 id="infrastructure-as-code">Infrastructure as code</h3> <p>By defining system topologies and resources in a descriptive manner, infrastructure as code empowers teams to manage resources like they manage code. This helps them deploy system resources in a repeatable, reliable, and controlled way, and maintain testing and development environments that are identical to production.</p> <h3 id="configuration-management">Configuration management</h3> <p>Configuration management means managing the state of resources in a system, including databases, virtual machines, and servers. Configuration management tools help teams reduce risk by rolling out changes in a systematic, controlled way. Teams also use these tools to track system state and operate complex environments at scale.</p> <h3 id="continuous-monitoring">Continuous monitoring</h3> <p>Through continuous monitoring, teams gain full, real-time visibility into the health and performance of the entire application stack. High-performing DevOps teams make sure they set meaningful, actionable alerts and collect rich telemetry event and log data. Insights derived from this data help the team mitigate issues in real time and improve the application in future releases.</p> <h2 id="what-can-you-do-with-devops">What can you do with DevOps?</h2> <p>See how high-performing teams put collaboration and automation to work.</p> <ul> <li><p><b>Mckesson Labs: </b>Building a cohesive DevOps technology stack. <a href="https://github-com.translate.goog/customer-stories/mckesson?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_mckesson&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_mckesson_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore Mckesson</a></p></li> <li><p><b>Dell Technologies: </b>Standardizing to support innersource and scalability. <a href="https://github-com.translate.goog/customer-stories/dell?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_dell_technologies&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_dell_technologies_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore Dell Technologies</a></p></li> <li><p><b>The Home Depot: </b>Modernizing infrastructure and developer tooling. <a href="https://github-com.translate.goog/customer-stories/homedepot?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_the_home_depot&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_the_home_depot_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore The Home Depot</a></p></li> <li><p><b>Dow Jones: </b>Bringing automated security to CI/CD pipelines. <a href="https://github-com.translate.goog/customer-stories/dow-jones?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_dow_jones&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_dow_jones_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore Dow Jones</a></p></li> <li><p><b>Autodesk: </b>Improving collaboration and reliability in the cloud. <a href="https://github-com.translate.goog/customer-stories/autodesk?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_autodesk&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_autodesk_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore Autodesk</a></p></li> <li><p><b>American Airlines: </b>Fostering innovation by using GitHub as an incubator for ideas. <a href="https://github-com.translate.goog/customer-stories/american-airlines?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;explore_american_airlines&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;explore_american_airlines_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Explore American Airlines</a></p></li> </ul> <figure> <blockquote> <p>The access, sharing, and collaboration that happens when we’re all one organization is fantastic.</p> <figcaption> Cynthia Payne, Vice President of IT App Services at Nationwide </figcaption> <figcaption> </figcaption> </blockquote> </figure> <h2 id="devops-and-devsecops">DevOps and DevSecOps</h2> <h3 id="what-is-devsecops">What is DevSecOps?</h3> <p>Like development and operations, DevSecOps integrates automated security testing into every part of DevOps culture, tooling, and processes. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/fundamentals/devsecops/" data-analytics-event="{&quot;action&quot;:&quot;learn_more_about_devsecops&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;learn_more_about_devsecops_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">Learn more about DevSecOps </a></p> <p>For many practitioners, security was always meant to be part of DevOps. Instead of happening at the end of the SDLC, DevOps security starts at the source: Code. This approach is commonly known as <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.blog/2020-04-28-how-to-build-an-effective-devsecops-culture/" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;devsecops_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">DevSecOps</a> or “shifting left.” GitHub has always considered good DevOps to mean DevSecOps, and GitHub tools make it easier for DevOps teams to include security at every step of the SDLC.</p> <p>Using automated security tools, developers find and address security vulnerabilities as they code instead of waiting for security teams to address them after deployment. By empowering developers to take responsibility for security throughout the DevOps lifecycle, DevSecOps allows development, operations, and security teams to find and remediate security issues faster.</p> <figure> <blockquote> <p>You fix it and you move forward, because guess what? It takes you a minute to solve that security issue in development when it could potentially take you days in production.</p> <figcaption> Shamal Siwan, Lead DevOps Engineer/Solutions Architect at California Department of Technology </figcaption> <figcaption> </figcaption> </blockquote> </figure> <p></p> <h2 id="devops-products">DevOps products</h2> <p>Each phase of the DevOps lifecycle has unique considerations that one or more products can help solve. Organizations might invest in building out a collection of tools to use in its DevOps practice, called a “DevOps Toolchain” to address each phase of the lifecycle. The most successful DevOps organizations will have these types of tools to help them deliver higher-quality software faster. <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/tools/compare/" data-analytics-event="{&quot;action&quot;:&quot;see_how_github_compares_to_other_devops_platforms&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;see_how_github_compares_to_other_devops_platforms_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">See how GitHub compares to other DevOps platforms </a></p> <h3 id="cicd">CI/CD</h3> <p>Throughout this article, we’ve discussed how CI/CD is fundamental to any DevOps practice. <a href="https://github-com.translate.goog/features/actions?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;github_actions&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;github_actions_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">GitHub Actions</a>, a complete CI/CD DevOps software solution, empowers DevOps teams to build more secure code from the start and deploy software with confidence—without sacrificing speed.</p> <h3 id="workflow-automation">Workflow automation</h3> <p>Automation is another fundamental component of DevOps and <a href="https://github-com.translate.goog/features/actions?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;github_actions&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;github_actions_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">GitHub Actions</a> makes it easy to automate DevOps software workflows, with world-class CI/CD. This includes code reviews, branch management, and issue triaging.</p> <h3 id="version-and-source-control">Version and source control</h3> <p>The best version and source control platforms, like <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/en/repositories" data-analytics-event="{&quot;action&quot;:&quot;github&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;github_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">GitHub</a>, integrate with the organization’s DevOps toolchain and empower product teams to collaborate throughout the DevOps lifecycle. They include productivity features like <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests" data-analytics-event="{&quot;action&quot;:&quot;pull_requests&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;pull_requests_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">pull requests</a>, which help developers get reviews on proposed code changes before they’re integrated into the main code branch.</p> <h3 id="security">Security</h3> <p>Companies that invest in DevOps often invest in several tools to model threats and apply automated security testing. Integrated solutions like <a href="https://github-com.translate.goog/features/security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;label&quot;:&quot;github_advanced_security_hyperlink_null_null&quot;}" target="_blank" rel="noopener noreferrer">GitHub Advanced Security</a> help ensure software security through every phase of the SDLC. For example, GitHub Advanced Security scans code as it’s created to help developers secure their code in minutes, watches their repositories, and notifies them of secrets issued by more than 45 leading secret providers, and helps turn security best practices into better development processes.</p> </div> </div> </div> </div> <div class="Primer_Brand__Grid-module__Grid___q48mT" data-testid="Grid-:R7tb:"> <div class="Primer_Brand__Grid-module__Grid__column___HTpsw Primer_Brand__Grid-module__Grid__column--span-12___Tn1Hg"> <div class="Primer_Brand__Box-module__Box-narrow-marginBlockStart--64___AU4LW Primer_Brand__Box-module__Box-wide-marginBlockStart--112___M351c"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-128___KJAoH Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <div class="Primer_Brand__Animation-module__Animation___KNtEW Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP"> <section class="Primer_Brand__CTABanner-module__CTABanner___m0t8s"> <div class="Primer_Brand__CTABanner-module__CTABanner-container___iRzd1 Primer_Brand__CTABanner-module__CTABanner-container--border___FbAer Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH"> <div class="Primer_Brand__CTABanner-module__CTABanner-content___sZo6_ Primer_Brand__CTABanner-module__CTABanner-content--center___S0ChQ"> <h3 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--1___Ufc7G">Start building your DevOps workflow</h3> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--200___XAIGT Primer_Brand__CTABanner-module__CTABanner-description___I7md6">Whether you’re ready to dive in or still have questions, we’ve got you covered.<!-- --></p> <section class="Primer_Brand__ButtonGroup-module__ButtonGroup___QQSsj"> <a class="Primer_Brand__Button-module__Button___lDruK Primer_Brand__Button-module__Button--primary___xIC7G Primer_Brand__Button-module__Button--size-medium___EyCyw" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/build-your-devops-practice-on-github/" data-analytics-event="{&quot;action&quot;:&quot;explore_best_practices&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;context&quot;:&quot;CTAs&quot;,&quot;location&quot;:&quot;start_building_your_devops_workflow&quot;,&quot;label&quot;:&quot;explore_best_practices_button_CTAs_start_building_your_devops_workflow&quot;}"><span class="Primer_Brand__Button-module__Button__text___Z3ocU"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--200___XAIGT Primer_Brand__Text-module__Text--weight-semibold___Ns19j Primer_Brand__Button-module__Button--label___lUBc0 Primer_Brand__Button-module__Button--label-medium___DW2TM Primer_Brand__Button-module__Button--label-primary___Leisi">Explore best practices</span></span><span class="Primer_Brand__Button-module__Button__trailing-visual___zg8jd"> <svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___rkfek Primer_Brand__Button-module__Button-arrow___SkJXQ" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-hidden="true" focusable="false" data-testid="Button-expandable-arrow"> <path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___g4mdy" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path> </svg></span></a><a class="Primer_Brand__Button-module__Button___lDruK Primer_Brand__Button-module__Button--secondary___akMC2 Primer_Brand__Button-module__Button--size-medium___EyCyw" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/demo/" data-analytics-event="{&quot;action&quot;:&quot;get_a_github_demo&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;context&quot;:&quot;CTAs&quot;,&quot;location&quot;:&quot;start_building_your_devops_workflow&quot;,&quot;label&quot;:&quot;get_a_github_demo_button_CTAs_start_building_your_devops_workflow&quot;}" data-ref="cta-banner-secondary-action-1TeiFgoWgiq97P8vMBHlnM"><span class="Primer_Brand__Button-module__Button__text___Z3ocU"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--200___XAIGT Primer_Brand__Text-module__Text--weight-semibold___Ns19j Primer_Brand__Button-module__Button--label___lUBc0 Primer_Brand__Button-module__Button--label-medium___DW2TM Primer_Brand__Button-module__Button--label-secondary___DRJoJ">Get a GitHub demo</span></span></a> </section> </div> </div> </section> </div> <section> <div class="Primer_Brand__Animation-module__Animation___KNtEW Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP"> <section class="Primer_Brand__FAQ-module__FAQ___R3vLU px-4"> <h3 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--3___wsITu Primer_Brand__FAQ-module__FAQ__heading___bH0aG Primer_Brand__FAQ-module__FAQ__heading--center___xMpbW">Frequently asked questions</h3> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_is_devops_automation&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_is_devops_automation_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What is DevOps automation?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">DevOps automation allows development teams to reduce the possibility of human error and ship software faster by replacing manual tasks with automated processes. For example, continuous integration and continuous delivery automates the build, testing, and deployment stages of the DevOps lifecycle.</p> </div> </section> </details> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_is_the_difference_between_devops_and_sre&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_is_the_difference_between_devops_and_sre_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What is the difference between DevOps and SRE?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">Both DevOps and site reliability engineering (SRE) enhance the software development lifecycle by improving automation, collaboration, and monitoring. The main difference is that DevOps teams build and update software while SRE teams work with software that’s already in production to make sure it functions correctly and meets service level commitments.</p> </div> </section> </details> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_is_the_devops_model&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_is_the_devops_model_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What is the DevOps model?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">Since every DevOps implementation is unique to the company’s business needs, there really is no one-size-fits-all <a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/model/" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama" data-ref="faq-link-2TiodqWtfrjcDtneOmcsRr" data-analytics-event="{&quot;action&quot;:&quot;devops_model&quot;,&quot;tag&quot;:&quot;hyperlink&quot;,&quot;context&quot;:&quot;what_is_the_devops_model&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;devops_model_hyperlink_what_is_the_devops_model_frequently_asked_questions&quot;}">DevOps model</a>. However, the core philosophies of DevOps include the breaking down of silos, and the ideas that everyone should take responsibility for a product and work together as a team across all parts of the SDLC.</p> </div> </section> </details> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_is_the_difference_between_devops_and_devsecops&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_is_the_difference_between_devops_and_devsecops_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What is the difference between DevOps and DevSecOps?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">DevSecOps builds on DevOps by integrating automated security testing into every part of DevOps culture, tooling, and processes. This helps developers find and address security vulnerabilities as they code instead of waiting for security teams to address them after deployment. By empowering developers to take responsibility for security throughout the DevOps lifecycle, DevSecOps allows development, operations, and security teams to find and remediate security issues faster.</p> </div> </section> </details> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_is_considered_good_devops&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_is_considered_good_devops_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What is considered good DevOps?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">Good DevOps combines “development” and “operations” to bring teams together to deliver better software, faster. Best practices to benchmark DevOps success include collaboration, automation of repetitive tasks, and transparency, such as ongoing feedback and open access to repositories.</p> </div> </section> </details> <details class="Primer_Brand__Accordion-module__Accordion___M_LPt Primer_Brand__Accordion-module__Accordion--default___wLsHR"> <summary class="Primer_Brand__Accordion-module__Accordion__summary___NUIYc Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_" data-analytics-event="{&quot;action&quot;:&quot;what_does_a_devops_engineer_do&quot;,&quot;tag&quot;:&quot;button&quot;,&quot;location&quot;:&quot;frequently_asked_questions&quot;,&quot;label&quot;:&quot;what_does_a_devops_engineer_do_button_null_frequently_asked_questions&quot;}"><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--collapsed___spc4w"></span><h4 class="Primer_Brand__Heading-module__Heading___IVpmp Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx Primer_Brand__Heading-module__Heading--subhead-large____C6GZ">What does a DevOps Engineer do?</h4><span aria-hidden="true" class="Primer_Brand__Accordion-module__Accordion__summary--expanded___r3Clk"></span></summary> <section class="Primer_Brand__Accordion-module__Accordion__content___wMZGe"> <div class="Primer_Brand__Stack-module__Stack___tASKe Primer_Brand__Stack-module__Stack--vertical___CFzE7 Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx Primer_Brand__Stack-module__Stack--padding-none___RCMh9"> <p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--300___TBQTB">A DevOps Engineer plays an important role in the DevOps lifecycle by continuously managing team communications and designing and implementing strategies. In addition to code-related tasks, the DevOps Engineer is responsible for solving issues related to testing, monitoring, release management, and operational planning.</p> </div> </section> </details> </section> <script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is DevOps automation?","acceptedAnswer":{"@type":"Answer","text":"<p>DevOps automation allows development teams to reduce the possibility of human error and ship software faster by replacing manual tasks with automated processes. For example, continuous integration and continuous delivery automates the build, testing, and deployment stages of the DevOps lifecycle.</p>"}},{"@type":"Question","name":"What is the difference between DevOps and SRE?","acceptedAnswer":{"@type":"Answer","text":"<p>Both DevOps and site reliability engineering (SRE) enhance the software development lifecycle by improving automation, collaboration, and monitoring. The main difference is that DevOps teams build and update software while SRE teams work with software that’s already in production to make sure it functions correctly and meets service level commitments. </p>"}},{"@type":"Question","name":"What is the DevOps model?","acceptedAnswer":{"@type":"Answer","text":"<p>Since every DevOps implementation is unique to the company’s business needs, there really is no one-size-fits-all <a href=\"https://resources.github.com/devops/model/\">DevOps model</a>. However, the core philosophies of DevOps include the breaking down of silos, and the ideas that everyone should take responsibility for a product and work together as a team across all parts of the SDLC. </p>"}},{"@type":"Question","name":"What is the difference between DevOps and DevSecOps?","acceptedAnswer":{"@type":"Answer","text":"<p>DevSecOps builds on DevOps by integrating automated security testing into every part of DevOps culture, tooling, and processes. This helps developers find and address security vulnerabilities as they code instead of waiting for security teams to address them after deployment. By empowering developers to take responsibility for security throughout the DevOps lifecycle, DevSecOps allows development, operations, and security teams to find and remediate security issues faster. </p>"}},{"@type":"Question","name":"What is considered good DevOps?","acceptedAnswer":{"@type":"Answer","text":"<p>Good DevOps combines “development” and “operations” to bring teams together to deliver better software, faster. Best practices to benchmark DevOps success include collaboration, automation of repetitive tasks, and transparency, such as ongoing feedback and open access to repositories. </p>"}},{"@type":"Question","name":"What does a DevOps Engineer do?","acceptedAnswer":{"@type":"Answer","text":"<p>A DevOps Engineer plays an important role in the DevOps lifecycle by continuously managing team communications and designing and implementing strategies. In addition to code-related tasks, the DevOps Engineer is responsible for solving issues related to testing, monitoring, release management, and operational planning. </p>"}}]}</script> </div> </section> </div> </div> </div> </div> </div> </article> </div> </section> </div> </div> <script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"What is DevOps?","publisher":{"@type":"Organization","name":"GitHub","logo":"https://github.githubassets.com/images/modules/open_graph/github-logo.png"},"author":{"@type":"Organization","name":"GitHub","url":"https://www.github.com"}}</script> </div> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script> </div> </react-app> </main> </div> <footer role="contentinfo" class="footer pt-6 position-relative" data-analytics-visible="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;visible&quot;,&quot;label&quot;:&quot;text: Marketing footer&quot;}"> <h2 class="sr-only">Site-wide Links</h2> <div class="container-xl p-responsive"> <div class="d-flex flex-wrap py-5 mb-5"> <section class="col-12 col-lg-4 mb-5"><a href="https://github-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to home&quot;,&quot;label&quot;:&quot;text:home&quot;}" class="color-fg-default d-inline-block" aria-label="Go to GitHub homepage"> <svg height="30" aria-hidden="true" viewbox="0 0 68 24" version="1.1" width="85" data-view-component="true" class="octicon octicon-logo-github footer-logo-mktg width-auto d-block"><path d="M27.8 17.908h-.03c.013 0 .022.014.035.017l.01-.002-.016-.015Zm.005.017c-.14.001-.49.073-.861.073-1.17 0-1.575-.536-1.575-1.234v-4.652h2.385c.135 0 .24-.12.24-.283V9.302c0-.133-.12-.252-.24-.252H25.37V5.913c0-.119-.075-.193-.21-.193h-3.24c-.136 0-.21.074-.21.193V9.14s-1.636.401-1.741.416a.255.255 0 0 0-.195.253v2.021c0 .164.12.282.255.282h1.665v4.876c0 3.627 2.55 3.998 4.29 3.998.796 0 1.756-.252 1.906-.327.09-.03.135-.134.135-.238v-2.23a.264.264 0 0 0-.219-.265Zm35.549-3.272c0-2.69-1.095-3.047-2.25-2.928-.9.06-1.62.505-1.62.505v5.232s.735.506 1.83.536c1.545.044 2.04-.506 2.04-3.345ZM67 14.415c0 5.099-1.665 6.555-4.576 6.555-2.46 0-3.78-1.233-3.78-1.233s-.06.683-.135.773c-.045.089-.12.118-.21.118h-2.22c-.15 0-.286-.119-.286-.252l.03-16.514a.26.26 0 0 1 .255-.252h3.196a.26.26 0 0 1 .255.252v5.604s1.23-.788 3.03-.788l-.015-.03c1.8 0 4.456.67 4.456 5.767ZM53.918 9.05h-3.15c-.165 0-.255.119-.255.282v8.086s-.826.58-1.95.58c-1.126 0-1.456-.506-1.456-1.62v-7.06a.262.262 0 0 0-.255-.254h-3.21a.262.262 0 0 0-.256.253v7.596c0 3.27 1.846 4.087 4.381 4.087 2.085 0 3.78-1.145 3.78-1.145s.076.58.12.67c.03.074.136.133.24.133h2.011a.243.243 0 0 0 .255-.253l.03-11.103c0-.133-.12-.252-.285-.252Zm-35.556-.015h-3.195c-.135 0-.255.134-.255.297v10.91c0 .297.195.401.45.401h2.88c.3 0 .375-.134.375-.401V9.287a.262.262 0 0 0-.255-.252ZM16.787 4.01c-1.155 0-2.07.907-2.07 2.051 0 1.145.915 2.051 2.07 2.051a2.04 2.04 0 0 0 2.04-2.05 2.04 2.04 0 0 0-2.04-2.052Zm24.74-.372H38.36a.262.262 0 0 0-.255.253v6.08H33.14v-6.08a.262.262 0 0 0-.255-.253h-3.196a.262.262 0 0 0-.255.253v16.514c0 .133.135.252.255.252h3.196a.262.262 0 0 0 .255-.253v-7.06h4.966l-.03 7.06c0 .134.12.253.255.253h3.195a.262.262 0 0 0 .255-.253V3.892a.262.262 0 0 0-.255-.253Zm-28.31 7.313v8.532c0 .06-.015.163-.09.193 0 0-1.875 1.323-4.966 1.323C4.426 21 0 19.84 0 12.2S3.87 2.986 7.651 3c3.27 0 4.59.728 4.8.862.06.075.09.134.09.208l-.63 2.646c0 .134-.134.297-.3.253-.54-.164-1.35-.49-3.255-.49-2.205 0-4.575.623-4.575 5.543s2.25 5.5 3.87 5.5c1.38 0 1.875-.164 1.875-.164V13.94H7.321c-.165 0-.285-.12-.285-.253v-2.735c0-.134.12-.252.285-.252h5.61c.166 0 .286.118.286.252Z"></path> </svg></a> <h3 class="h5 mt-4 mb-0" id="subscribe-to-newsletter">Subscribe to our developer newsletter</h3> <p class="f5 color-fg-muted mb-3">Get tips, technical guides, and best practices. Twice a month. Right in your inbox.</p><a class="btn-mktg mb-4 btn-muted-mktg" data-analytics-event="{&quot;category&quot;:&quot;Subscribe&quot;,&quot;action&quot;:&quot;click to Subscribe&quot;,&quot;label&quot;:&quot;ref_cta:Subscribe;&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/newsletter/"> Subscribe </a> </section> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4" aria-labelledby="footer-title-product"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-product">Product</h3> <ul class="list-style-none color-fg-muted f5"> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;features_link_product_footer&quot;}" href="https://github-com.translate.goog/features?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Features</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;enterprise&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_link_product_footer&quot;}" href="https://github-com.translate.goog/enterprise?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Enterprise</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_link_product_footer&quot;}" href="https://github-com.translate.goog/features/copilot?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Copilot</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_footer&quot;}" href="https://github-com.translate.goog/security?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Security</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_product_footer&quot;}" href="https://github-com.translate.goog/pricing?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Pricing</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;team&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;team_link_product_footer&quot;}" href="https://github-com.translate.goog/team?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Team</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;resources&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;resources_link_product_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com">Resources</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;roadmap&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;roadmap_link_product_footer&quot;}" href="https://github-com.translate.goog/github/roadmap?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Roadmap</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;compare&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;compare_link_product_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://resources.github.com/devops/tools/compare">Compare GitHub</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-platform"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-platform">Platform</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dev-api&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dev-api_link_platform_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/get-started/exploring-integrations/about-building-integrations">Developer API</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_platform_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://partner.github.com">Partners</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;edu&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;edu_link_platform_footer&quot;}" href="https://github-com.translate.goog/edu?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Education</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cli&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cli_link_platform_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://cli.github.com">GitHub CLI</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;desktop&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;desktop_link_platform_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://desktop.github.com">GitHub Desktop</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;mobile&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;mobile_link_platform_footer&quot;}" href="https://github-com.translate.goog/mobile?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">GitHub Mobile</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-support"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-support">Support</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;docs&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;docs_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com">Docs</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;community&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;community_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.community">Community Forum</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;services&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;services_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://services.github.com">Professional Services</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_support_footer&quot;}" href="https://github-com.translate.goog/enterprise/premium-support?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Premium Support</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;skills&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;skills_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://skills.github.com">Skills</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;status&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;status_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.githubstatus.com">Status</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;contact_github&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;contact_github_link_support_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://support.github.com?tags%3Ddotcom-footer">Contact GitHub</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-company"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-company">Company</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;about&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;about_link_company_footer&quot;}" href="https://github-com.translate.goog/about?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">About</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_company_footer&quot;}" href="https://github-com.translate.goog/customer-stories?type=enterprise&amp;_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Customer stories</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_company_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.blog">Blog</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;readme&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;readme_link_company_footer&quot;}" href="https://github-com.translate.goog/readme?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">The ReadME Project</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;careers&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;careers_link_company_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://github.careers">Careers</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;newsroom&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;newsroom_link_company_footer&quot;}" href="https://github-com.translate.goog/newsroom?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Newsroom</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;inclusion&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;inclusion_link_company_footer&quot;}" href="https://github-com.translate.goog/about/diversity?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Inclusion</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;social_impact&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;social_impact_link_company_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://socialimpact.github.com">Social Impact</a></li> <li class="lh-condensed mb-3"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;shop&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;shop_link_company_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://shop.github.com">Shop</a></li> </ul> </nav> </div> </div> <div class="color-bg-subtle"> <div class="container-xl p-responsive f6 py-4 d-md-flex flex-justify-between flex-items-center"> <nav aria-label="Legal and Resource Links"> <ul class="list-style-none d-flex flex-wrap color-fg-muted"> <li class="mx-2">© <time datetime="2024">2024</time> GitHub, Inc.</li> <li class="mx-2"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;terms&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;terms_link_subfooter_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/site-policy/github-terms/github-terms-of-service">Terms</a></li> <li class="mx-2"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;privacy&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;privacy_link_subfooter_footer&quot;}" href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://docs.github.com/site-policy/privacy-policies/github-privacy-statement">Privacy</a> (<a href="https://github-com.translate.goog/github/site-policy/pull/582?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="Link--secondary">Updated <time datetime="2022-08">02/2024</time></a>)</li> <li class="mx-2"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;sitemap&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;sitemap_link_subfooter_footer&quot;}" href="https://github-com.translate.goog/sitemap?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">Sitemap</a></li> <li class="mx-2"><a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;what_is_git&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;what_is_git_link_subfooter_footer&quot;}" href="https://github-com.translate.goog/git-guides?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB">What is Git?</a></li> <li class="mx-2"><cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"> Manage cookies </button> </cookie-consent-link></li> <li class="mx-2"><cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"> Do not share my personal information </button> </cookie-consent-link></li> </ul> </nav> <nav aria-label="GitHub's Social Media Links" class="mt-3 mt-md-0"> <ul class="list-style-none d-flex flex-items-center lh-condensed-ultra"> <li class="ml-md-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://x.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to X&quot;,&quot;label&quot;:&quot;text:text:x&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 1200 1227" fill="currentColor" aria-hidden="true" class="d-block" width="16" height="16"> <path d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"></path> </svg><span class="sr-only">GitHub on X</span> </a></li> <li class="ml-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.facebook.com/GitHub" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Facebook&quot;,&quot;label&quot;:&quot;text:text:facebook&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 15.3 15.4" aria-hidden="true" class="d-block" width="18" height="18"> <path d="M14.5 0H.8a.88.88 0 0 0-.8.9v13.6a.88.88 0 0 0 .8.9h7.3v-6h-2V7.1h2V5.4a2.87 2.87 0 0 1 2.5-3.1h.5a10.87 10.87 0 0 1 1.8.1v2.1h-1.3c-1 0-1.1.5-1.1 1.1v1.5h2.3l-.3 2.3h-2v5.9h3.9a.88.88 0 0 0 .9-.8V.8a.86.86 0 0 0-.8-.8z" fill="currentColor"></path> </svg><span class="sr-only">GitHub on Facebook</span> </a></li> <li class="ml-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.linkedin.com/company/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Linkedin&quot;,&quot;label&quot;:&quot;text:text:linkedin&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 19 18" aria-hidden="true" class="d-block" width="19" height="18"> <path d="M3.94 2A2 2 0 1 1 2 0a2 2 0 0 1 1.94 2zM4 5.48H0V18h4zm6.32 0H6.34V18h3.94v-6.57c0-3.66 4.77-4 4.77 0V18H19v-7.93c0-6.17-7.06-5.94-8.72-2.91z" fill="currentColor"></path> </svg><span class="sr-only">GitHub on LinkedIn</span> </a></li> <li class="ml-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.youtube.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to YouTube&quot;,&quot;label&quot;:&quot;text:text:youtube&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 19.17 13.6" aria-hidden="true" class="d-block" width="23" height="16"> <path d="M18.77 2.13A2.4 2.4 0 0 0 17.09.42C15.59 0 9.58 0 9.58 0a57.55 57.55 0 0 0-7.5.4A2.49 2.49 0 0 0 .39 2.13 26.27 26.27 0 0 0 0 6.8a26.15 26.15 0 0 0 .39 4.67 2.43 2.43 0 0 0 1.69 1.71c1.52.42 7.5.42 7.5.42a57.69 57.69 0 0 0 7.51-.4 2.4 2.4 0 0 0 1.68-1.71 25.63 25.63 0 0 0 .4-4.67 24 24 0 0 0-.4-4.69zM7.67 9.71V3.89l5 2.91z" fill="currentColor"></path> </svg><span class="sr-only">GitHub on YouTube</span> </a></li> <li class="ml-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.twitch.tv/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Twitch&quot;,&quot;label&quot;:&quot;text:text:twitch&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" role="img" viewbox="0 0 24 24" aria-hidden="true" class="d-block" width="18" height="18"> <title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z" fill="currentColor"></path> </svg><span class="sr-only">GitHub on Twitch</span> </a></li> <li class="ml-3"><a href="https://translate.google.com/website?sl=pl&amp;tl=iw&amp;hl=en-GB&amp;u=https://www.tiktok.com/@github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to tiktok&quot;,&quot;label&quot;:&quot;text:text:tiktok&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" role="img" viewbox="0 0 24 24" aria-hidden="true" class="d-block" width="18" height="18"> <title>TikTok</title><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" fill="currentColor"></path> </svg><span class="sr-only">GitHub on TikTok</span> </a></li> <li class="ml-3"><a href="https://github-com.translate.goog/github?_x_tr_sl=pl&amp;_x_tr_tl=iw&amp;_x_tr_hl=en-GB" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to github's org&quot;,&quot;label&quot;:&quot;text:text:github&quot;}"> <svg xmlns="http://www.w3.org/2000/svg" height="20" viewbox="0 0 16 16" width="20" aria-hidden="true" class="d-block"> <path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg><span class="sr-only">GitHub’s organization on GitHub</span> </a></li> </ul> </nav> </div> </div> </footer><microsoft-analytics> </microsoft-analytics> <fullstory-capture data-fs-script-domain="https://github.githubassets.com"> </fullstory-capture> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="true" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg><button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open><summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"><clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"><clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewbox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true"></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'iw', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=en-GB&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10