tpotce/docker/tanner/snare/dist/pages/1/e4d0b5f02282a09c62e848328952d4e0
2018-08-14 14:20:55 +00:00

243 lines
19 KiB
Text

<!DOCTYPE html>
<html class="" lang="en">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="object" property="og:type"/>
<meta content="GitLab" property="og:site_name"/>
<meta content="Schedules · Pipelines · Project · User · Help" property="og:title"/>
<meta content="GitLab Community Edition" property="og:description"/>
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image"/>
<meta content="64" property="og:image:width"/>
<meta content="64" property="og:image:height"/>
<meta content="http://172.20.254.127/help/user/project/pipelines/schedules.md" property="og:url"/>
<meta content="summary" property="twitter:card"/>
<meta content="Schedules · Pipelines · Project · User · Help" property="twitter:title"/>
<meta content="GitLab Community Edition" property="twitter:description"/>
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image"/>
<title>Schedules · Pipelines · Project · User · Help · GitLab</title>
<meta content="GitLab Community Edition" name="description"/>
<link data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" rel="shortcut icon" type="image/png"/>
<link href="/assets/application-266f2bfa52ff531258d13c702895a14fd5994ca591fa2df7338da00ab18c99ac.css" media="all" rel="stylesheet"/>
<link href="/assets/print-c8ff536271f8974b8a9a5f75c0ca25d2b8c1dceb4cff3c01d1603862a0bdcbfc.css" media="print" rel="stylesheet"/>
<script>
//<![CDATA[
window.gon={};gon.api_version="v4";gon.default_avatar_url="http://172.20.254.127/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.shortcuts_path="/help/shortcuts";gon.user_color_scheme="white";gon.gitlab_url="http://172.20.254.127";gon.revision="63daf37";gon.gitlab_logo="/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";gon.sprite_icons="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg";gon.sprite_file_icons="/assets/file_icons-7262fc6897e02f1ceaf8de43dc33afa5e4f9a2067f4f68ef77dcc87946575e9e.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-289eccffb1183c188b630297431be837765d9ff4aed6130cf738586fb307c170.css";gon.test_env=false;gon.suggested_label_colors=["#0033CC","#428BCA","#44AD8E","#A8D695","#5CB85C","#69D100","#004E00","#34495E","#7F8C8D","#A295D6","#5843AD","#8E44AD","#FFECDB","#AD4363","#D10069","#CC0033","#FF0000","#D9534F","#D1D100","#F0AD4E","#AD8D43"];
//]]>
</script>
<script defer="defer" src="/assets/webpack/runtime.9fcb75d4.bundle.js"></script>
<script defer="defer" src="/assets/webpack/main.a66b6c66.chunk.js"></script>
<script defer="defer" src="/assets/webpack/pages.help.show.c42c0700.chunk.js"></script>
<meta content="authenticity_token" name="csrf-param">
<meta content="fXO9mH7aY1mKzfNzu0iZA67mebKHbpO/fyrLcETBcRqRpiO+61FV2+hqlTozM6kJ+5a2oNW24c6TxI7PkZ9Q9A==" name="csrf-token">
<meta content="origin-when-cross-origin" name="referrer"/>
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"/>
<meta content="#474D57" name="theme-color"/>
<link href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" rel="apple-touch-icon" type="image/x-icon"/>
<link href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" rel="apple-touch-icon" sizes="76x76" type="image/x-icon"/>
<link href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" rel="apple-touch-icon" sizes="120x120" type="image/x-icon"/>
<link href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" rel="apple-touch-icon" sizes="152x152" type="image/x-icon"/>
<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"/>
<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"/>
<meta content="#30353E" name="msapplication-TileColor"/>
</meta></meta></head>
<body class="ui-indigo " data-group="" data-page="help:show" data-project="">
<header class="navbar navbar-gitlab qa-navbar navbar-expand-sm">
<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
<div class="container-fluid">
<div class="header-content">
<div class="title-container">
<h1 class="title">
<a href="/" id="logo" title="Dashboard"><svg class="tanuki-logo" height="24" viewbox="0 0 36 36" width="24">
<path class="tanuki-shape tanuki-left-ear" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-right-ear" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-nose" d="M18,34.38 3,14 33,14 Z" fill="#e24329"></path>
<path class="tanuki-shape tanuki-left-eye" d="M18,34.38 11.38,14 2,14 6,25Z" fill="#fc6d26"></path>
<path class="tanuki-shape tanuki-right-eye" d="M18,34.38 24.62,14 34,14 30,25Z" fill="#fc6d26"></path>
<path class="tanuki-shape tanuki-left-cheek" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z" fill="#fca326"></path>
<path class="tanuki-shape tanuki-right-cheek" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z" fill="#fca326"></path>
</svg>
<span class="logo-text d-none d-sm-block">
<svg viewbox="0 0 617 169" xmlns="http://www.w3.org/2000/svg"><path d="M315.26 2.97h-21.8l.1 162.5h88.3v-20.1h-66.5l-.1-142.4M465.89 136.95c-5.5 5.7-14.6 11.4-27 11.4-16.6 0-23.3-8.2-23.3-18.9 0-16.1 11.2-23.8 35-23.8 4.5 0 11.7.5 15.4 1.2v30.1h-.1m-22.6-98.5c-17.6 0-33.8 6.2-46.4 16.7l7.7 13.4c8.9-5.2 19.8-10.4 35.5-10.4 17.9 0 25.8 9.2 25.8 24.6v7.9c-3.5-.7-10.7-1.2-15.1-1.2-38.2 0-57.6 13.4-57.6 41.4 0 25.1 15.4 37.7 38.7 37.7 15.7 0 30.8-7.2 36-18.9l4 15.9h15.4v-83.2c-.1-26.3-11.5-43.9-44-43.9M557.63 149.1c-8.2 0-15.4-1-20.8-3.5V70.5c7.4-6.2 16.6-10.7 28.3-10.7 21.1 0 29.2 14.9 29.2 39 0 34.2-13.1 50.3-36.7 50.3m9.2-110.6c-19.5 0-30 13.3-30 13.3v-21l-.1-27.8h-21.3l.1 158.5c10.7 4.5 25.3 6.9 41.2 6.9 40.7 0 60.3-26 60.3-70.9-.1-35.5-18.2-59-50.2-59M77.9 20.6c19.3 0 31.8 6.4 39.9 12.9l9.4-16.3C114.5 6 97.3 0 78.9 0 32.5 0 0 28.3 0 85.4c0 59.8 35.1 83.1 75.2 83.1 20.1 0 37.2-4.7 48.4-9.4l-.5-63.9V75.1H63.6v20.1h38l.5 48.5c-5 2.5-13.6 4.5-25.3 4.5-32.2 0-53.8-20.3-53.8-63-.1-43.5 22.2-64.6 54.9-64.6M231.43 2.95h-21.3l.1 27.3v94.3c0 26.3 11.4 43.9 43.9 43.9 4.5 0 8.9-.4 13.1-1.2v-19.1c-3.1.5-6.4.7-9.9.7-17.9 0-25.8-9.2-25.8-24.6v-65h35.7v-17.8h-35.7l-.1-38.5M155.96 165.47h21.3v-124h-21.3v124M155.96 24.37h21.3V3.07h-21.3v21.3"></path></svg>
</span>
</a></h1>
<ul class="list-unstyled navbar-sub-nav">
<li class="home"><a class="dashboard-shortcuts-projects" href="/explore" title="Projects">Projects
</a></li><li class=""><a class="dashboard-shortcuts-groups" href="/explore/groups" title="Groups">Groups
</a></li><li class=""><a class="dashboard-shortcuts-snippets" href="/explore/snippets" title="Snippets">Snippets
</a></li><li>
<a href="/help" title="About GitLab CE">Help</a>
</li>
</ul>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="nav-item d-none d-sm-none d-md-block m-auto">
<div class="search search-form">
<form accept-charset="UTF-8" action="/search" class="form-inline" method="get"><input name="utf8" type="hidden" value="✓"/><div class="search-input-container">
<div class="search-input-wrap">
<div class="dropdown" data-url="/search/autocomplete">
<input aria-label="Search" autocomplete="off" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" data-issues-path="/dashboard/issues" data-mr-path="/dashboard/merge_requests" id="search" name="search" placeholder="Search" spellcheck="false" tabindex="1" type="search"/>
<button class="hidden js-dropdown-search-toggle" data-toggle="dropdown" type="button"></button>
<div class="dropdown-menu dropdown-select">
<div class="dropdown-content"><ul>
<li class="dropdown-menu-empty-item">
<a>
Loading...
</a>
</li>
</ul>
</div><div class="dropdown-loading"><i aria-hidden="true" class="fa fa-spinner fa-spin" data-hidden="true"></i></div>
</div>
<svg class="s16 search-icon"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
<svg class="s16 clear-icon js-clear-input"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
</div>
</div>
</div>
<input class="js-search-group-options" id="group_id" name="group_id" type="hidden"/>
<input class="js-search-project-options" id="search_project_id" name="project_id" type="hidden" value=""/>
<input id="repository_ref" name="repository_ref" type="hidden"/>
<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete"></div>
</form></div>
</li>
<li class="nav-item d-inline-block d-sm-none d-md-none">
<a aria-label="Search" data-container="body" data-placement="bottom" data-toggle="tooltip" href="/search" title="Search"><svg class="s16"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
</a></li>
<li class="nav-item">
<div>
<a class="btn btn-sign-in" href="/users/sign_in?redirect_to_referer=yes">Sign in / Register</a>
</div>
</li>
</ul>
</div>
<button class="navbar-toggler d-block d-sm-none" type="button">
<span class="sr-only">Toggle navigation</span>
<svg class="s12 more-icon js-navbar-toggle-right"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#more"></use></svg>
<svg class="s12 close-icon js-navbar-toggle-left"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
</button>
</div>
</div>
</header>
<div class="layout-page">
<div class="content-wrapper">
<div class="mobile-overlay"></div>
<div class="alert-wrapper">
<nav class="breadcrumbs container-fluid container-limited" role="navigation">
<div class="breadcrumbs-container">
<div class="breadcrumbs-links js-title-container">
<ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list">
<li><a href="/help">Help</a><svg class="s8 breadcrumbs-list-angle"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#angle-right"></use></svg></li>
<li>
<h2 class="breadcrumbs-sub-title"><a href="/help/user/project/pipelines/schedules.md">Help</a></h2>
</li>
</ul>
</div>
</div>
</nav>
<div class="flash-container flash-container-page">
</div>
</div>
<div class="container-fluid container-limited ">
<div class="content" id="content-body">
<div class="documentation wiki prepend-top-default">
<h1 dir="auto">
<a aria-hidden="true" class="anchor" href="#pipeline-schedules" id="user-content-pipeline-schedules"></a>Pipeline Schedules</h1>
<blockquote dir="auto">
<p><strong>Notes</strong>:</p>
</blockquote>
<ul dir="auto">
<li>This feature was introduced in 9.1 as <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10533" rel="nofollow noreferrer noopener" target="_blank">Trigger Schedule</a>.</li>
<li>In 9.2, the feature was <a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10853" rel="nofollow noreferrer noopener" target="_blank">renamed to Pipeline Schedule</a>.</li>
<li>Cron notation is parsed by <a href="https://github.com/jmettraux/rufus-scheduler" rel="nofollow noreferrer noopener" target="_blank">Rufus-Scheduler</a>.</li>
</ul>
<p dir="auto">Pipeline schedules can be used to run a pipeline at specific intervals, for example every
month on the 22nd for a certain branch.</p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#using-pipeline-schedules" id="user-content-using-pipeline-schedules"></a>Using Pipeline schedules</h2>
<p dir="auto">In order to schedule a pipeline:</p>
<ol dir="auto">
<li>Navigate to your project's <strong>CI / CD ➔ Schedules</strong> and click the
<strong>New Schedule</strong> button.</li>
<li>Fill in the form</li>
<li>Hit <strong>Save pipeline schedule</strong> for the changes to take effect.</li>
</ol>
<p dir="auto"><a class="no-attachment-icon" href="/img/pipeline_schedules_new_form.png" rel="noopener noreferrer" target="_blank"><img alt="New Schedule Form" class="lazy" data-src="img/pipeline_schedules_new_form.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<blockquote dir="auto">
<p><strong>Attention:</strong>
The pipelines won't be executed precisely, because schedules are handled by
Sidekiq, which runs according to its interval.
See <a href="#advanced-admin-configuration">advanced admin configuration</a> for more
information.</p>
</blockquote>
<p dir="auto">In the <strong>Schedules</strong> index page you can see a list of the pipelines that are
scheduled to run. The next run is automatically calculated by the server GitLab
is installed on.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/pipeline_schedules_list.png" rel="noopener noreferrer" target="_blank"><img alt="Schedules list" class="lazy" data-src="img/pipeline_schedules_list.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#running-a-scheduled-pipeline-manually" id="user-content-running-a-scheduled-pipeline-manually"></a>Running a scheduled pipeline manually</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15700" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.4.</p>
</blockquote>
<p dir="auto">To trigger a pipeline schedule manually, click the "Play" button:</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/pipeline_schedule_play.png" rel="noopener noreferrer" target="_blank"><img alt="Play Pipeline Schedule" class="lazy" data-src="img/pipeline_schedule_play.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<p dir="auto">This will schedule a background job to run the pipeline schedule. A flash
message will provide a link to the CI/CD Pipeline index page.</p>
<p dir="auto">To help avoid abuse, users are rate limited to triggering a pipeline once per
minute.</p>
<h3 dir="auto">
<a aria-hidden="true" class="anchor" href="#making-use-of-scheduled-pipeline-variables" id="user-content-making-use-of-scheduled-pipeline-variables"></a>Making use of scheduled pipeline variables</h3>
<blockquote dir="auto">
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12328" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.4.</p>
</blockquote>
<p dir="auto">You can pass any number of arbitrary variables and they will be available in
GitLab CI so that they can be used in your <code>.gitlab-ci.yml</code> file.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/pipeline_schedule_variables.png" rel="noopener noreferrer" target="_blank"><img alt="Scheduled pipeline variables" class="lazy" data-src="img/pipeline_schedule_variables.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#using-only-and-except" id="user-content-using-only-and-except"></a>Using only and except</h2>
<p dir="auto">To configure that a job can be executed only when the pipeline has been
scheduled (or the opposite), you can use
<a href="../../../ci/yaml/README.md#only-and-except-simplified">only and except</a> configuration keywords.</p>
<pre class="code highlight js-syntax-highlight plaintext" lang="plaintext" v-pre="true"><code><span class="line" id="LC1" lang="plaintext">job:on-schedule:</span>
<span class="line" id="LC2" lang="plaintext"> only:</span>
<span class="line" id="LC3" lang="plaintext"> - schedules</span>
<span class="line" id="LC4" lang="plaintext"> script:</span>
<span class="line" id="LC5" lang="plaintext"> - make world</span>
<span class="line" id="LC6" lang="plaintext"></span>
<span class="line" id="LC7" lang="plaintext">job:</span>
<span class="line" id="LC8" lang="plaintext"> except:</span>
<span class="line" id="LC9" lang="plaintext"> - schedules</span>
<span class="line" id="LC10" lang="plaintext"> script:</span>
<span class="line" id="LC11" lang="plaintext"> - make build</span></code></pre>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#taking-ownership" id="user-content-taking-ownership"></a>Taking ownership</h2>
<p dir="auto">Pipelines are executed as a user, who owns a schedule. This influences what
projects and other resources the pipeline has access to. If a user does not own
a pipeline, you can take ownership by clicking the <strong>Take ownership</strong> button.
The next time a pipeline is scheduled, your credentials will be used.</p>
<p dir="auto"><a class="no-attachment-icon" href="/img/pipeline_schedules_ownership.png" rel="noopener noreferrer" target="_blank"><img alt="Schedules list" class="lazy" data-src="img/pipeline_schedules_ownership.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
<blockquote dir="auto">
<p><strong>Note:</strong>
When the owner of the schedule doesn't have the ability to create pipelines
anymore, due to e.g., being blocked or removed from the project, or lacking
the permission to run on protected branches or tags. When this happened, the
schedule is deactivated. Another user can take ownership and activate it, so
the schedule can be run again.</p>
</blockquote>
<h2 dir="auto">
<a aria-hidden="true" class="anchor" href="#advanced-admin-configuration" id="user-content-advanced-admin-configuration"></a>Advanced admin configuration</h2>
<p dir="auto">The pipelines won't be executed precisely, because schedules are handled by
Sidekiq, which runs according to its interval. For example, if you set a
schedule to create a pipeline every minute (<code>* * * * *</code>) and the Sidekiq worker
runs on 00:00 and 12:00 every day (<code>0 */12 * * *</code>), only 2 pipelines will be
created per day. To change the Sidekiq worker's frequency, you have to edit the
<code>pipeline_schedule_worker_cron</code> value in your <code>gitlab.rb</code> and restart GitLab.
For GitLab.com, you can check the <a href="https://about.gitlab.com/gitlab-com/settings/#cron-jobs" rel="nofollow noreferrer noopener" target="_blank">dedicated settings page</a>. If you
don't have admin access to the server, ask your administrator.</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>