Skip to content

Commit

Permalink
Add 2.x docs (#2865)
Browse files Browse the repository at this point in the history
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Anbraten <anton@ju60.de>
  • Loading branch information
3 people authored Nov 23, 2023
1 parent 72611b1 commit 948b422
Show file tree
Hide file tree
Showing 81 changed files with 9,332 additions and 8 deletions.
6 changes: 3 additions & 3 deletions docs/blog/2023-07-28-release-v1.0.0/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ empowering you to automate and optimize workflows like never before.

Automate recurring tasks with ease using Woodpecker's new cron jobs feature.
Schedule pipelines to run at specified intervals or times, optimizing repetitive workflows.
[Read more](/docs/usage/cron)
[Read more](/docs/1.0/usage/cron)

### YAML Map Merge, Overrides, and Sequence Merge Support

With enhanced YAML support, managing complex configurations becomes a breeze.
Merge maps, apply overrides, and sequence merging—all within your YAML files.
This is providing more flexibility and control over your pipelines.
[Read more](/docs/usage/advanced-yaml-syntax)
[Read more](/docs/1.0/usage/advanced-yaml-syntax)

### Web-UI for Admins

Expand All @@ -53,7 +53,7 @@ If your language is not available or only partially translated, consider contrib

Enhance pipeline flexibility with the new "when evaluate" filter, enabling or disabling steps based on custom conditions.
Customize your workflows to dynamically respond to specific triggers and events.
[Read more](/docs/usage/pipeline-syntax#evaluate)
[Read more](/docs/1.0/usage/pipeline-syntax#evaluate)

### Global- and Organization-Secrets

Expand Down
6 changes: 5 additions & 1 deletion docs/docs/91-migrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

Some versions need some changes to the server configuration or the pipeline configuration files.

## next (2.0.0)
## `next`

No breaking changes yet

## 2.0.0

- Dropped deprecated `CI_BUILD_*`, `CI_PREV_BUILD_*`, `CI_JOB_*`, `*_LINK`, `CI_SYSTEM_ARCH`, `CI_REPO_REMOTE` built-in environment variables
- Deprecated `platform:` filter in favor of `labels:`, [read more](./20-usage/20-workflow-syntax.md#filter-by-platform)
Expand Down
7 changes: 5 additions & 2 deletions docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const config: Config = {
},
{
label: 'Server setup',
to: '/docs/administration/setup',
to: '/docs/administration/deployment/overview',
},
{
label: 'FAQ',
Expand Down Expand Up @@ -210,12 +210,15 @@ const config: Config = {
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/woodpecker-ci/woodpecker/edit/main/docs/',
includeCurrentVersion: true,
lastVersion: '1.0',
lastVersion: '2.0',
versions: {
current: {
label: 'Next',
banner: 'unreleased',
},
'2.0': {
label: '2.0.x',
},
'1.0': {
label: '1.0.x',
banner: 'unmaintained',
Expand Down
2 changes: 1 addition & 1 deletion docs/src/pages/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Apart from Woodpecker staying free and OpenSource forever, the growing community already introduced some nifty features like:

- [Multiple workflows](/docs/next/usage/workflows)
- [Conditional step execution on file changes](/docs/usage/pipeline-syntax#path)
- [Conditional step execution on file changes](/docs/next/usage/workflow-syntax#path)
- [More features are already in the pipeline :wink:](https://github.com/woodpecker-ci/woodpecker/pulls) ...

## Why is Woodpecker a fork of Drone version 0.8?
Expand Down
94 changes: 94 additions & 0 deletions docs/versioned_docs/version-2.0/10-intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Welcome to Woodpecker

Woodpecker is a simple CI engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/).
If you are already using containers in your daily workflow, you'll for sure love Woodpecker.

![woodpecker](woodpecker.png)

## .woodpecker.yml

- Place your pipeline in a file named `.woodpecker.yml` in your repository
- Pipeline steps can be named as you like
- Run any command in the commands section

```yaml
# .woodpecker.yml
steps:
build:
image: debian
commands:
- echo "This is the build step"
a-test-step:
image: debian
commands:
- echo "Testing.."
```
### Steps are containers
- Define any container image as context
- either use your own and install the needed tools in a custom image
- or search for available images that are already tailored for your needs in image registries like [Docker Hub](https://hub.docker.com/search?type=image)
- List the commands that should be executed in the container
```diff
steps:
build:
- image: debian
+ image: mycompany/image-with-awscli
commands:
- aws help
```
### File changes are incremental
- Woodpecker clones the source code in the beginning
- File changes are persisted throughout individual steps as the same volume is being mounted in all steps
```yaml
# .woodpecker.yml
steps:
build:
image: debian
commands:
- touch myfile
a-test-step:
image: debian
commands:
- cat myfile
```
## Plugins are straightforward
- If you copy the same shell script from project to project
- Pack it into a plugin instead
- And make the yaml declarative
- Plugins are Docker images with your script as an entrypoint
```Dockerfile
# Dockerfile
FROM laszlocloud/kubectl
COPY deploy /usr/local/deploy
ENTRYPOINT ["/usr/local/deploy"]
```

```bash
# deploy
kubectl apply -f $PLUGIN_TEMPLATE
```

```yaml
# .woodpecker.yml
steps:
deploy-to-k8s:
image: laszlocloud/my-k8s-plugin
settings:
template: config/k8s/service.yml
```
See [plugin docs](./20-usage/51-plugins/10-plugins.md).
## Continue reading
- [Create a Woodpecker pipeline for your repository](./20-usage/10-intro.md)
- [Setup your own Woodpecker instance](./30-administration/00-deployment/00-overview.md)
72 changes: 72 additions & 0 deletions docs/versioned_docs/version-2.0/20-usage/10-intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Getting started

## Repository Activation

To activate your project navigate to your account settings. You will see a list of repositories which can be activated with a simple toggle. When you activate your repository, Woodpecker automatically adds webhooks to your forge (e.g. GitHub, Gitea, ...).

Webhooks are used to trigger pipeline executions. When you push code to your repository, open a pull request, or create a tag, your forge will automatically send a webhook to Woodpecker which will in turn trigger the pipeline execution.

![repository list](repo-list.png)

## Required Permissions

The user who enables a repo in Woodpecker must have `Admin` rights on that repo, so that Woodpecker can add the webhook.

:::note
Note that manually creating webhooks yourself is not possible.
This is because webhooks are signed using a per-repository secret key which is not exposed to end users.
:::

## Configuration

To configure your pipeline you must create a `.woodpecker.yml` file in the root of your repository. The `.woodpecker.yml` file is used to define your pipeline steps.

:::note
We support most of YAML 1.2, but preserve some behavior from 1.1 for backward compatibility.
Read more at: [https://github.com/go-yaml/yaml](https://github.com/go-yaml/yaml/tree/v3)
:::

Example pipeline configuration:

```yaml
steps:
build:
image: golang
commands:
- go get
- go build
- go test

services:
postgres:
image: postgres:9.4.5
environment:
- POSTGRES_USER=myapp
```
Example pipeline configuration with multiple, serial steps:
```yaml
steps:
backend:
image: golang
commands:
- go get
- go build
- go test

frontend:
image: node:6
commands:
- npm install
- npm test

notify:
image: plugins/slack
channel: developers
username: woodpecker
```
## Execution
To trigger your first pipeline execution you can push code to your repository, open a pull request, or push a tag. Any of these events triggers a webhook from your forge and execute your pipeline.
Loading

0 comments on commit 948b422

Please sign in to comment.