Refactor pipeline schedules docs
This commit is contained in:
parent
d08f6bdcb7
commit
ae96126e9f
8 changed files with 81 additions and 48 deletions
|
@ -66,7 +66,8 @@ learn how to leverage its potential even more.
|
|||
submodules are involved
|
||||
- [Auto deploy](autodeploy/index.md)
|
||||
- [Use SSH keys in your build environment](ssh_keys/README.md)
|
||||
- [Trigger jobs through the GitLab API](triggers/README.md)
|
||||
- [Trigger pipelines through the GitLab API](triggers/README.md)
|
||||
- [Trigger pipelines on a schedule](../user/project/pipelines/schedules.md)
|
||||
|
||||
## Review Apps
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 66 KiB |
|
@ -1,44 +0,0 @@
|
|||
# Pipeline Schedules
|
||||
|
||||
> **Note**:
|
||||
- This feature was introduced in 9.1 as [Trigger Schedule][ce-105533]
|
||||
- In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853]
|
||||
|
||||
Pipeline schedules can be used to run pipelines only once, or for example every
|
||||
month on the 22nd for a certain branch.
|
||||
|
||||
## Using Pipeline Schedules
|
||||
|
||||
In order to schedule pipelines, navigate to your their pages **Pipelines ➔ Schedules**
|
||||
and click the **New Schedule** button.
|
||||
|
||||
![New Schedule Form](img/pipeline_schedules_new_form.png)
|
||||
|
||||
After entering the form, hit **Save Schedule** for the changes to have effect.
|
||||
You can check a next execution date of the scheduled trigger, which is automatically calculated by a server.
|
||||
|
||||
## Taking ownership
|
||||
|
||||
![Schedules list](img/pipeline_schedules_list.png)
|
||||
|
||||
Pipelines are executed as a user, which 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 **Take ownership** button.
|
||||
The next time a pipeline is scheduled, your credentials will be used.
|
||||
|
||||
> **Notes**:
|
||||
- Those pipelines won't be executed precicely. Because schedules are handled by
|
||||
Sidekiq, which runs according to its interval. For exmaple, if you set a schedule to
|
||||
create a pipeline every minute (`* * * * *`) and the Sidekiq worker performs 00:00
|
||||
and 12:00 o'clock every day (`0 */12 * * *`), only 2 pipelines will be created per day.
|
||||
To change the Sidekiq worker's frequency, you have to edit the `trigger_schedule_worker_cron`
|
||||
value in your `gitlab.rb` and restart GitLab. The Sidekiq worker's configuration
|
||||
on GiLab.com is able to be looked up at [here](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/gitlab.yml.example#L185).
|
||||
- Cron notation is parsed by [Rufus-Scheduler](https://github.com/jmettraux/rufus-scheduler).
|
||||
- When the owner of the schedule does not have the ability to create pipelines
|
||||
anymore, due to e.g. being blocked or removed from the project, the schedule is
|
||||
deactivated. Another user can take ownership and activate it, so the schedule is
|
||||
run again.
|
||||
|
||||
[ce-10533]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10533
|
||||
[ce-10853]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10853
|
|
@ -1,6 +1,6 @@
|
|||
# Triggering jobs through the API
|
||||
# Triggering pipelines through the API
|
||||
|
||||
> **Note**:
|
||||
> **Notes**:
|
||||
- [Introduced][ci-229] in GitLab CE 7.14.
|
||||
- GitLab 8.12 has a completely redesigned job permissions system. Read all
|
||||
about the [new model and its implications](../../user/project/new_ci_build_permissions_model.md#job-triggers).
|
||||
|
@ -208,7 +208,7 @@ curl --request POST \
|
|||
https://gitlab.example.com/api/v4/projects/9/trigger/pipeline
|
||||
```
|
||||
|
||||
### Using webhook to trigger job
|
||||
### Using a webhook to trigger a pipeline
|
||||
|
||||
You can add the following webhook to another project in order to trigger a job:
|
||||
|
||||
|
@ -216,4 +216,18 @@ You can add the following webhook to another project in order to trigger a job:
|
|||
https://gitlab.example.com/api/v4/projects/9/ref/master/trigger/pipeline?token=TOKEN&variables[UPLOAD_TO_S3]=true
|
||||
```
|
||||
|
||||
### Using cron to trigger nightly pipelines
|
||||
|
||||
>**Note:**
|
||||
The following behavior can also be achieved through GitLab's UI with
|
||||
[pipeline schedules](../../user/project/pipelines/schedules.md).
|
||||
|
||||
Whether you craft a script or just run cURL directly, you can trigger jobs
|
||||
in conjunction with cron. The example below triggers a job on the `master`
|
||||
branch of project with ID `9` every night at `00:30`:
|
||||
|
||||
```bash
|
||||
30 0 * * * curl --request POST --form token=TOKEN --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline
|
||||
```
|
||||
|
||||
[ci-229]: https://gitlab.com/gitlab-org/gitlab-ci/merge_requests/229
|
||||
|
|
BIN
doc/user/project/pipelines/img/pipeline_schedules_list.png
Normal file
BIN
doc/user/project/pipelines/img/pipeline_schedules_list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
BIN
doc/user/project/pipelines/img/pipeline_schedules_ownership.png
Normal file
BIN
doc/user/project/pipelines/img/pipeline_schedules_ownership.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
62
doc/user/project/pipelines/schedules.md
Normal file
62
doc/user/project/pipelines/schedules.md
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Pipeline Schedules
|
||||
|
||||
> **Notes**:
|
||||
- This feature was introduced in 9.1 as [Trigger Schedule][ce-10533].
|
||||
- In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853].
|
||||
- Cron notation is parsed by [Rufus-Scheduler](https://github.com/jmettraux/rufus-scheduler).
|
||||
|
||||
Pipeline schedules can be used to run pipelines only once, or for example every
|
||||
month on the 22nd for a certain branch.
|
||||
|
||||
## Using Pipeline schedules
|
||||
|
||||
In order to schedule a pipeline:
|
||||
|
||||
1. Navigate to your project's **Pipelines ➔ Schedules** and click the
|
||||
**New Schedule** button.
|
||||
1. Fill in the form
|
||||
1. Hit **Save pipeline schedule** for the changes to take effect.
|
||||
|
||||
![New Schedule Form](img/pipeline_schedules_new_form.png)
|
||||
|
||||
>**Attention:**
|
||||
The pipelines won't be executed precisely, because schedules are handled by
|
||||
Sidekiq, which runs according to its interval.
|
||||
See [advanced admin configuration](#advanced-admin-configuration) for more
|
||||
information.
|
||||
|
||||
In the **Schedules** 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.
|
||||
|
||||
![Schedules list](img/pipeline_schedules_list.png)
|
||||
|
||||
## Taking ownership
|
||||
|
||||
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 **Take ownership** button.
|
||||
The next time a pipeline is scheduled, your credentials will be used.
|
||||
|
||||
![Schedules list](img/pipeline_schedules_ownership.png)
|
||||
|
||||
>**Note:**
|
||||
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, the schedule
|
||||
is deactivated. Another user can take ownership and activate it, so the
|
||||
schedule can be run again.
|
||||
|
||||
## Advanced admin configuration
|
||||
|
||||
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 (`* * * * *`) and the Sidekiq worker
|
||||
runs on 00:00 and 12:00 every day (`0 */12 * * *`), only 2 pipelines will be
|
||||
created per day. To change the Sidekiq worker's frequency, you have to edit the
|
||||
`trigger_schedule_worker_cron` value in your `gitlab.rb` and restart GitLab.
|
||||
For GitLab.com, you can check the [dedicated settings page][settings]. If you
|
||||
don't have admin access to the server, ask your administrator.
|
||||
|
||||
[ce-10533]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10533
|
||||
[ce-10853]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10853
|
||||
[settings]: https://about.gitlab.com/gitlab-com/settings/#cron-jobs
|
Loading…
Reference in a new issue