Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ci/runners/saas/windows_saas_runner.md')
-rw-r--r--doc/ci/runners/saas/windows_saas_runner.md113
1 files changed, 30 insertions, 83 deletions
diff --git a/doc/ci/runners/saas/windows_saas_runner.md b/doc/ci/runners/saas/windows_saas_runner.md
index 6e4ffc036b0..fa981bddff3 100644
--- a/doc/ci/runners/saas/windows_saas_runner.md
+++ b/doc/ci/runners/saas/windows_saas_runner.md
@@ -6,88 +6,47 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# SaaS runners on Windows (Beta) **(FREE SAAS)**
-SaaS runners on Windows are in [Beta](../../../policy/alpha-beta-support.md#beta)
-and shouldn't be used for production workloads.
-
-During this beta period, the [shared runner quota for CI/CD minutes](../../pipelines/cicd_minutes.md)
-applies for groups and projects in the same manner as Linux runners. This may
-change when the beta period ends, as discussed in this [related issue](https://gitlab.com/gitlab-org/gitlab/-/issues/30834).
-
-Windows runners on GitLab.com autoscale by launching virtual machines on
+SaaS runner on Windows autoscale by launching virtual machines on
the Google Cloud Platform. This solution uses an
[autoscaling driver](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/-/blob/main/docs/README.md)
developed by GitLab for the [custom executor](https://docs.gitlab.com/runner/executors/custom.html).
-Windows runners execute your CI/CD jobs on `n1-standard-2` instances with
-2 vCPUs and 7.5 GB RAM. You can find a full list of available Windows packages in
-the [package documentation](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/main/cookbooks/preinstalled-software/README.md).
+
+These SaaS runners are in [Beta](../../../policy/experiment-beta-support.md#beta)
+and aren't recomended for production workloads.
We want to keep iterating to get Windows runners in a stable state and
-[generally available](../../../policy/alpha-beta-support.md#generally-available-ga).
+[generally available](../../../policy/experiment-beta-support.md#generally-available-ga).
You can follow our work towards this goal in the
[related epic](https://gitlab.com/groups/gitlab-org/-/epics/2162).
-## Configuration
+## Machine types available for Windows
+
+| Runner Tag | vCPUs | Memory | Storage |
+| ---------------------- | ----- | ------ | ------- |
+| `shared-windows` | 2 | 7.5 GB | 75 GB |
+
+## Supported Windows versions
+
+The Windows runner virtual machine instances do not use the GitLab Docker executor. This means that you can't specify
+[`image`](../../../ci/yaml/index.md#image) or [`services`](../../../ci/yaml/index.md#services) in your pipeline configuration.
+Instead you have to select the [`tags`](../../../ci/yaml/index.md#tags) for the desired Windows version.
-The full contents of our `config.toml` are:
+You can execute your job in one of the following Windows versions:
+
+| Version tag | Status |
+|----------------|---------------|
+| `windows-1809` | `maintenance` |
+
+You can find a full list of available pre-installed software in
+the [pre-installed software documentation](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/gcp/windows-containers/blob/main/cookbooks/preinstalled-software/README.md).
NOTE:
-Settings that aren't public are shown as `X`.
-
-```toml
-concurrent = X
-check_interval = 3
-
-[[runners]]
- name = "windows-runner"
- url = "https://gitlab.com/"
- token = "TOKEN"
- executor = "custom"
- builds_dir = "C:\\GitLab-Runner\\builds"
- cache_dir = "C:\\GitLab-Runner\\cache"
- shell = "powershell"
- [runners.custom]
- config_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe"
- config_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "config"]
- prepare_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe"
- prepare_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "prepare"]
- run_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe"
- run_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "run"]
- cleanup_exec = "C:\\GitLab-Runner\\autoscaler\\autoscaler.exe"
- cleanup_args = ["--config", "C:\\GitLab-Runner\\autoscaler\\config.toml", "custom", "cleanup"]
-```
+Each time you run a job that requires tooling or dependencies not available in the base image, those components must be installed to the newly provisioned VM increasing the total job duration.
-The full contents of our `autoscaler/config.toml` are:
-
-```toml
-Provider = "gcp"
-Executor = "winrm"
-OS = "windows"
-LogLevel = "info"
-LogFormat = "text"
-LogFile = "C:\\GitLab-Runner\\autoscaler\\autoscaler.log"
-VMTag = "windows"
-
-[GCP]
- ServiceAccountFile = "PATH"
- Project = "some-project-df9323"
- Zone = "us-east1-c"
- MachineType = "n1-standard-2"
- Image = "IMAGE"
- DiskSize = 50
- DiskType = "pd-standard"
- Subnetwork = "default"
- Network = "default"
- Tags = ["TAGS"]
- Username = "gitlab_runner"
-
-[WinRM]
- MaximumTimeout = 3600
- ExecutionMaxRetries = 0
-
-[ProviderCache]
- Enabled = true
- Directory = "C:\\GitLab-Runner\\autoscaler\\machines"
-```
+## Supported shell
+
+SaaS runners on Windows have PowerShell configured as the shell.
+The `script` section of your `.gitlab-ci.yml` file therefore requires PowerShell commands.
## Example `.gitlab-ci.yml` file
@@ -97,7 +56,6 @@ Below is a sample `.gitlab-ci.yml` file that shows how to start using the runner
.shared_windows_runners:
tags:
- shared-windows
- - windows
- windows-1809
stages:
@@ -126,7 +84,7 @@ test:
## Limitations and known issues
-- All the limitations mentioned in our [Beta definition](../../../policy/alpha-beta-support.md#beta).
+- All the limitations mentioned in our [Beta definition](../../../policy/experiment-beta-support.md#beta).
- The average provisioning time for a new Windows VM is 5 minutes.
This means that you may notice slower build start times
on the Windows runner fleet during the beta. In a future
@@ -136,17 +94,6 @@ test:
follow along in the [related issue](https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/-/issues/32).
- The Windows runner fleet may be unavailable occasionally
for maintenance or updates.
-- The Windows runner virtual machine instances do not use the
- GitLab Docker executor. This means that you can't specify
- [`image`](../../../ci/yaml/index.md#image) or [`services`](../../../ci/yaml/index.md#services) in
- your pipeline configuration.
-- For the beta release, we have included a set of software packages in
- the base VM image. If your CI job requires additional software that's
- not included in this list, then you must add installation
- commands to [`before_script`](../../../ci/yaml/index.md#before_script) or [`script`](../../../ci/yaml/index.md#script) to install the required
- software. Note that each job runs on a new VM instance, so the
- installation of additional software packages needs to be repeated for
- each job in your pipeline.
- The job may stay in a pending state for longer than the
Linux runners.
- There is the possibility that we introduce breaking changes which will