Add 3.9 docs (#5397)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
@ -103,9 +103,8 @@ When using the `local` backend, the `image` entry is used to specify the shell,
|
||||||
- go build
|
- go build
|
||||||
- go test
|
- go test
|
||||||
|
|
||||||
- name: publish
|
- name: prettier
|
||||||
+ image: woodpeckerci/plugin-kaniko
|
+ image: woodpeckerci/plugin-prettier
|
||||||
repo: foo/bar
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- name: database
|
- name: database
|
||||||
|
@ -393,8 +392,7 @@ when:
|
||||||
#### `path`
|
#### `path`
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
Path conditions are applied only to **push** and **pull_request** events.
|
Path conditions are applied only to **push** and **pull_request** events. This feature is currently available for all forges except Bitbucket Cloud.
|
||||||
It is currently **only available** for GitHub, GitLab and Gitea (version 1.18.0 and newer)
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Execute a step only on a pipeline with certain files being changed:
|
Execute a step only on a pipeline with certain files being changed:
|
||||||
|
@ -474,9 +472,11 @@ Normally steps of a workflow are executed serially in the order in which they ar
|
||||||
- go build
|
- go build
|
||||||
|
|
||||||
- name: deploy
|
- name: deploy
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
repo: foo/bar
|
bucket: my-bucket-name
|
||||||
|
source: some-file-name
|
||||||
|
target: /target/some-file
|
||||||
+ depends_on: [build, test] # deploy will be executed after build and test finished
|
+ depends_on: [build, test] # deploy will be executed after build and test finished
|
||||||
|
|
||||||
- name: test # test will be executed immediately as no dependencies are set
|
- name: test # test will be executed immediately as no dependencies are set
|
|
@ -77,7 +77,6 @@ This is the reference list of all environment variables available to your pipeli
|
||||||
| `CI_COMMIT_MESSAGE` | commit message | `Initial commit` |
|
| `CI_COMMIT_MESSAGE` | commit message | `Initial commit` |
|
||||||
| `CI_COMMIT_AUTHOR` | commit author username | `john-doe` |
|
| `CI_COMMIT_AUTHOR` | commit author username | `john-doe` |
|
||||||
| `CI_COMMIT_AUTHOR_EMAIL` | commit author email address | `john-doe@example.com` |
|
| `CI_COMMIT_AUTHOR_EMAIL` | commit author email address | `john-doe@example.com` |
|
||||||
| `CI_COMMIT_AUTHOR_AVATAR` | commit author avatar | `https://git.example.com/avatars/5dcbcadbce6f87f8abef` |
|
|
||||||
| `CI_COMMIT_PRERELEASE` | release is a pre-release (empty if event is not `release`) | `false` |
|
| `CI_COMMIT_PRERELEASE` | release is a pre-release (empty if event is not `release`) | `false` |
|
||||||
| | **Current pipeline** | |
|
| | **Current pipeline** | |
|
||||||
| `CI_PIPELINE_NUMBER` | pipeline number | `8` |
|
| `CI_PIPELINE_NUMBER` | pipeline number | `8` |
|
||||||
|
@ -90,6 +89,8 @@ This is the reference list of all environment variables available to your pipeli
|
||||||
| `CI_PIPELINE_CREATED` | pipeline created UNIX timestamp | `1722617519` |
|
| `CI_PIPELINE_CREATED` | pipeline created UNIX timestamp | `1722617519` |
|
||||||
| `CI_PIPELINE_STARTED` | pipeline started UNIX timestamp | `1722617519` |
|
| `CI_PIPELINE_STARTED` | pipeline started UNIX timestamp | `1722617519` |
|
||||||
| `CI_PIPELINE_FILES` | changed files (empty if event is not `push` or `pull_request`), it is undefined if more than 500 files are touched | `[]`, `[".woodpecker.yml","README.md"]` |
|
| `CI_PIPELINE_FILES` | changed files (empty if event is not `push` or `pull_request`), it is undefined if more than 500 files are touched | `[]`, `[".woodpecker.yml","README.md"]` |
|
||||||
|
| `CI_PIPELINE_AUTHOR` | pipeline author username | `octocat` |
|
||||||
|
| `CI_PIPELINE_AVATAR` | pipeline author avatar | `https://git.example.com/avatars/5dcbcadbce6f87f8abef` |
|
||||||
| | **Current workflow** | |
|
| | **Current workflow** | |
|
||||||
| `CI_WORKFLOW_NAME` | workflow name | `release` |
|
| `CI_WORKFLOW_NAME` | workflow name | `release` |
|
||||||
| | **Current step** | |
|
| | **Current step** | |
|
||||||
|
@ -108,7 +109,6 @@ This is the reference list of all environment variables available to your pipeli
|
||||||
| `CI_PREV_COMMIT_MESSAGE` | previous commit message | `test` |
|
| `CI_PREV_COMMIT_MESSAGE` | previous commit message | `test` |
|
||||||
| `CI_PREV_COMMIT_AUTHOR` | previous commit author username | `john-doe` |
|
| `CI_PREV_COMMIT_AUTHOR` | previous commit author username | `john-doe` |
|
||||||
| `CI_PREV_COMMIT_AUTHOR_EMAIL` | previous commit author email address | `john-doe@example.com` |
|
| `CI_PREV_COMMIT_AUTHOR_EMAIL` | previous commit author email address | `john-doe@example.com` |
|
||||||
| `CI_PREV_COMMIT_AUTHOR_AVATAR` | previous commit author avatar | `https://git.example.com/avatars/12` |
|
|
||||||
| | **Previous pipeline** | |
|
| | **Previous pipeline** | |
|
||||||
| `CI_PREV_PIPELINE_NUMBER` | previous pipeline number | `7` |
|
| `CI_PREV_PIPELINE_NUMBER` | previous pipeline number | `7` |
|
||||||
| `CI_PREV_PIPELINE_PARENT` | previous pipeline number of parent pipeline | `0` |
|
| `CI_PREV_PIPELINE_PARENT` | previous pipeline number of parent pipeline | `0` |
|
||||||
|
@ -121,6 +121,8 @@ This is the reference list of all environment variables available to your pipeli
|
||||||
| `CI_PREV_PIPELINE_CREATED` | previous pipeline created UNIX timestamp | `1722610173` |
|
| `CI_PREV_PIPELINE_CREATED` | previous pipeline created UNIX timestamp | `1722610173` |
|
||||||
| `CI_PREV_PIPELINE_STARTED` | previous pipeline started UNIX timestamp | `1722610173` |
|
| `CI_PREV_PIPELINE_STARTED` | previous pipeline started UNIX timestamp | `1722610173` |
|
||||||
| `CI_PREV_PIPELINE_FINISHED` | previous pipeline finished UNIX timestamp | `1722610383` |
|
| `CI_PREV_PIPELINE_FINISHED` | previous pipeline finished UNIX timestamp | `1722610383` |
|
||||||
|
| `CI_PREV_PIPELINE_AUTHOR` | previous pipeline author username | `octocat` |
|
||||||
|
| `CI_PREV_PIPELINE_AVATAR` | previous pipeline author avatar | `https://git.example.com/avatars/5dcbcadbce6f87f8abef` |
|
||||||
| |   | |
|
| |   | |
|
||||||
| `CI_WORKSPACE` | Path of the workspace where source code gets cloned to | `/woodpecker/src/git.example.com/john-doe/my-repo` |
|
| `CI_WORKSPACE` | Path of the workspace where source code gets cloned to | `/woodpecker/src/git.example.com/john-doe/my-repo` |
|
||||||
| | **System** | |
|
| | **System** | |
|
||||||
|
@ -168,20 +170,20 @@ Example commit substitution:
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
steps:
|
steps:
|
||||||
- name: docker
|
- name: s3
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
+ tags: ${CI_COMMIT_SHA}
|
+ target: /target/${CI_COMMIT_SHA}
|
||||||
```
|
```
|
||||||
|
|
||||||
Example tag substitution:
|
Example tag substitution:
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
steps:
|
steps:
|
||||||
- name: docker
|
- name: s3
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
+ tags: ${CI_COMMIT_TAG}
|
+ target: /target/${CI_COMMIT_TAG}
|
||||||
```
|
```
|
||||||
|
|
||||||
## String Operations
|
## String Operations
|
||||||
|
@ -206,18 +208,18 @@ Example variable substitution with substring:
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
steps:
|
steps:
|
||||||
- name: docker
|
- name: s3
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
+ tags: ${CI_COMMIT_SHA:0:8}
|
+ target: /target/${CI_COMMIT_SHA:0:8}
|
||||||
```
|
```
|
||||||
|
|
||||||
Example variable substitution strips `v` prefix from `v.1.0.0`:
|
Example variable substitution strips `v` prefix from `v.1.0.0`:
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
steps:
|
steps:
|
||||||
- name: docker
|
- name: s3
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
+ tags: ${CI_COMMIT_TAG##v}
|
+ target: /target/${CI_COMMIT_TAG##v}
|
||||||
```
|
```
|
|
@ -23,7 +23,7 @@ steps:
|
||||||
template: config/k8s/service.yaml
|
template: config/k8s/service.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
Example pipeline using the Docker and Prettier plugins:
|
Example pipeline using the Prettier and S3 plugins:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
|
@ -37,10 +37,11 @@ steps:
|
||||||
image: woodpeckerci/plugin-prettier
|
image: woodpeckerci/plugin-prettier
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
image: woodpeckerci/plugin-kaniko
|
image: woodpeckerci/plugin-s3
|
||||||
settings:
|
settings:
|
||||||
repo: foo/bar
|
bucket: my-bucket-name
|
||||||
tags: latest
|
source: some-file-name
|
||||||
|
target: /target/some-file
|
||||||
```
|
```
|
||||||
|
|
||||||
## Plugin Isolation
|
## Plugin Isolation
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 430 KiB After Width: | Height: | Size: 430 KiB |
Before Width: | Height: | Size: 353 KiB After Width: | Height: | Size: 353 KiB |
Before Width: | Height: | Size: 351 KiB After Width: | Height: | Size: 351 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
@ -56,7 +56,7 @@ After installing the agent, copy the example environment file `/etc/woodpecker/w
|
||||||
```ini title="/usr/local/lib/systemd/system/woodpecker-agent.service"
|
```ini title="/usr/local/lib/systemd/system/woodpecker-agent.service"
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=WoodpeckerCI agent
|
Description=WoodpeckerCI agent
|
||||||
Documentation=https://woodpecker-ci.org/docs/administration/agent-config
|
Documentation=https://woodpecker-ci.org/docs/administration/configuration/agent
|
||||||
Requires=network.target
|
Requires=network.target
|
||||||
After=network.target
|
After=network.target
|
||||||
ConditionFileNotEmpty=/etc/woodpecker/woodpecker-agent.env
|
ConditionFileNotEmpty=/etc/woodpecker/woodpecker-agent.env
|
|
@ -308,6 +308,15 @@ The namespace to create worker Pods in.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### BACKEND_K8S_NAMESPACE_PER_ORGANIZATION
|
||||||
|
|
||||||
|
- Name: `WOODPECKER_BACKEND_K8S_NAMESPACE_PER_ORGANIZATION`
|
||||||
|
- Default: `false`
|
||||||
|
|
||||||
|
Enables namespace isolation per Woodpecker organization. When enabled, each organization gets its own dedicated Kubernetes namespace for improved security and resource isolation.
|
||||||
|
|
||||||
|
With this feature enabled, Woodpecker creates separate Kubernetes namespaces for each organization using the format `{WOODPECKER_BACKEND_K8S_NAMESPACE}-{organization-id}`. Namespaces are created automatically when needed, but they are not automatically deleted when organizations are removed from Woodpecker.
|
||||||
|
|
||||||
### BACKEND_K8S_VOLUME_SIZE
|
### BACKEND_K8S_VOLUME_SIZE
|
||||||
|
|
||||||
- Name: `WOODPECKER_BACKEND_K8S_VOLUME_SIZE`
|
- Name: `WOODPECKER_BACKEND_K8S_VOLUME_SIZE`
|
|
@ -10,6 +10,6 @@
|
||||||
| Event: Release | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
|
| Event: Release | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
|
||||||
| Event: Deploy¹ | :white_check_mark: | :x: | :x: | :x: | :x: | :x: |
|
| Event: Deploy¹ | :white_check_mark: | :x: | :x: | :x: | :x: | :x: |
|
||||||
| [Multiple workflows](../../../20-usage/25-workflows.md) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
| [Multiple workflows](../../../20-usage/25-workflows.md) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
||||||
| [when.path filter](../../../20-usage/20-workflow-syntax.md#path) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: |
|
| [when.path filter](../../../20-usage/20-workflow-syntax.md#path) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
|
||||||
|
|
||||||
¹ The deployment event can be triggered for all forges from Woodpecker directly. However, only GitHub can trigger them using webhooks.
|
¹ The deployment event can be triggered for all forges from Woodpecker directly. However, only GitHub can trigger them using webhooks.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
@ -244,7 +244,9 @@ execute a local pipeline
|
||||||
|
|
||||||
**--backend-k8s-allow-native-secrets**: whether to allow existing Kubernetes secrets to be referenced from steps
|
**--backend-k8s-allow-native-secrets**: whether to allow existing Kubernetes secrets to be referenced from steps
|
||||||
|
|
||||||
**--backend-k8s-namespace**="": backend k8s namespace (default: woodpecker)
|
**--backend-k8s-namespace**="": backend k8s namespace, if used with WOODPECKER_BACKEND_K8S_NAMESPACE_PER_ORGANIZATION, this will be the prefix for the namespace appended with the organization name. (default: woodpecker)
|
||||||
|
|
||||||
|
**--backend-k8s-namespace-per-org**: Whether to enable namespace segregation per organization feature. When enabled, Woodpecker will create the Kubernetes resources to separated Kubernetes namespaces per Woodpecker organization.
|
||||||
|
|
||||||
**--backend-k8s-pod-annotations**="": backend k8s additional Agent-wide worker pod annotations
|
**--backend-k8s-pod-annotations**="": backend k8s additional Agent-wide worker pod annotations
|
||||||
|
|
||||||
|
@ -266,7 +268,7 @@ execute a local pipeline
|
||||||
|
|
||||||
**--backend-k8s-volume-size**="": backend k8s volume size (default 10G) (default: 10G)
|
**--backend-k8s-volume-size**="": backend k8s volume size (default 10G) (default: 10G)
|
||||||
|
|
||||||
**--backend-local-temp-dir**="": set a different temp dir to clone workflows into (default: /var/folders/6m/t779gl5s7fq17_t_59fflg5w0000gn/T/)
|
**--backend-local-temp-dir**="": set a different temp dir to clone workflows into (default: /tmp)
|
||||||
|
|
||||||
**--backend-no-proxy**="": if set, pass the environment variable down as "NO_PROXY" to steps
|
**--backend-no-proxy**="": if set, pass the environment variable down as "NO_PROXY" to steps
|
||||||
|
|
||||||
|
@ -384,6 +386,8 @@ execute a local pipeline
|
||||||
|
|
||||||
**--repo-url**="": Set the metadata environment variable "CI_REPO_URL".
|
**--repo-url**="": Set the metadata environment variable "CI_REPO_URL".
|
||||||
|
|
||||||
|
**--secrets**="": map of secrets, ex. 'secret="val",secret2="value2"' (default: map[])
|
||||||
|
|
||||||
**--system-host**="": Set the metadata environment variable "CI_SYSTEM_HOST".
|
**--system-host**="": Set the metadata environment variable "CI_SYSTEM_HOST".
|
||||||
|
|
||||||
**--system-name**="": Set the metadata environment variable "CI_SYSTEM_NAME". (default: woodpecker)
|
**--system-name**="": Set the metadata environment variable "CI_SYSTEM_NAME". (default: woodpecker)
|
||||||
|
@ -417,7 +421,7 @@ lint a pipeline configuration file
|
||||||
|
|
||||||
**--plugins-privileged**="": allow plugins to run in privileged mode, if set empty, there is no (default: [])
|
**--plugins-privileged**="": allow plugins to run in privileged mode, if set empty, there is no (default: [])
|
||||||
|
|
||||||
**--plugins-trusted-clone**="": plugins that are trusted to handle Git credentials in cloning steps (default: [docker.io/woodpeckerci/plugin-git:2.6.3 docker.io/woodpeckerci/plugin-git quay.io/woodpeckerci/plugin-git])
|
**--plugins-trusted-clone**="": plugins that are trusted to handle Git credentials in cloning steps (default: [docker.io/woodpeckerci/plugin-git:2.6.5 docker.io/woodpeckerci/plugin-git quay.io/woodpeckerci/plugin-git])
|
||||||
|
|
||||||
**--strict**: treat warnings as errors
|
**--strict**: treat warnings as errors
|
||||||
|
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
|
@ -1,6 +1,6 @@
|
||||||
[
|
[
|
||||||
|
"3.9",
|
||||||
"3.8",
|
"3.8",
|
||||||
"3.7",
|
"3.7",
|
||||||
"3.6",
|
|
||||||
"2.8"
|
"2.8"
|
||||||
]
|
]
|
||||||
|
|