Update README (#560)

* Add "Stars over time to README
* Move info from README into docs & link to it
* New CI location
* New screenshot

Co-authored-by: John Olheiser <john.olheiser@gmail.com>
This commit is contained in:
6543 2021-12-03 15:36:22 +01:00 committed by GitHub
parent 03a4356764
commit d3eabbdebc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 39 additions and 75 deletions

View file

@ -5,8 +5,8 @@
</p> </p>
<br/> <br/>
<p align="center"> <p align="center">
<a href="https://wp.laszlo.cloud/woodpecker-ci/woodpecker" title="Build Status"> <a href="https://ci.woodpecker-ci.org/woodpecker-ci/woodpecker" title="Build Status">
<img src="https://wp.laszlo.cloud/api/badges/woodpecker-ci/woodpecker/status.svg"> <img src="https://ci.woodpecker-ci.org/api/badges/woodpecker-ci/woodpecker/status.svg">
</a> </a>
<a href="https://discord.gg/fcMQqSMXJy" title="Join the Discord chat at https://discord.gg/fcMQqSMXJy"> <a href="https://discord.gg/fcMQqSMXJy" title="Join the Discord chat at https://discord.gg/fcMQqSMXJy">
<img src="https://img.shields.io/discord/838698813463724034.svg"> <img src="https://img.shields.io/discord/838698813463724034.svg">
@ -48,92 +48,38 @@ Please consider to donate and become a backer. 🙏 [[Become a backer](https://o
- Pipeline steps can be named as you like - Pipeline steps can be named as you like
- Run any command in the commands section - Run any command in the commands section
```yaml [Read More](https://woodpecker-ci.org/docs/usage/intro)
# .woodpecker.yml
pipeline:
build:
image: debian
commands:
- echo "This is the build step"
a-test-step:
image: debian
commands:
- echo "Testing.."
```
### Build steps are containers ### Build steps are containers
- Define any Docker image as context - Define any Docker image as context
- Install the needed tools in custom Docker images, use them as context - Install the needed tools in custom Docker images, use them as context
```diff [Read More](https://woodpecker-ci.org/docs/usage/pipeline-syntax#steps)
pipeline:
build:
- image: debian
+ image: mycompany/image-with-awscli
commands:
- aws help
```
### File changes are incremental ### Plugins
- Woodpecker clones the source code in the beginning pipeline Woodpecker has [official plugins](https://woodpecker-ci.org/plugins), but you can also use your own.
- Changes to files are persisted through steps as the same volume is mounted to all steps
```yaml [Read More](https://woodpecker-ci.org/docs/usage/plugins/plugins)
# .woodpecker.yml
pipeline:
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
pipeline:
deploy-to-k8s:
image: laszlocloud/my-k8s-plugin
template: config/k8s/service.yml
```
## Documentation ## Documentation
https://woodpecker-ci.org/ https://woodpecker-ci.org/
## Who uses Woodpecker?
Currently, I know of one organization using Woodpecker. With 50+ users, 130+ repos and more than 1100 builds a week.
Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it.
## Contribution ## Contribution
See [Contributing Guide](CONTRIBUTING.md) See [Contributing Guide](CONTRIBUTING.md)
## Who uses Woodpecker?
[Codeberg](https://codeberg.org), the woodpecker project itself, and many others not listed.
Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it.
## Stars over time
[![Stargazers over time](https://starchart.cc/woodpecker-ci/woodpecker.svg)](https://starchart.cc/woodpecker-ci/woodpecker)
## License ## License
Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply. Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply.

View file

@ -24,7 +24,7 @@ In the above example we define two pipeline steps, `frontend` and `backend`. The
## Global Pipeline Conditionals ## Global Pipeline Conditionals
Woodpecker gives the ability to skip whole pipelines (not just steps) when based on certain conditions. Woodpecker gives the ability to skip whole pipelines (not just steps) when based on certain conditions.
### `branches` ### `branches`
Woodpecker can skip commits based on the target branch. If the branch matches the `branches:` block the pipeline is executed, otherwise it is skipped. Woodpecker can skip commits based on the target branch. If the branch matches the `branches:` block the pipeline is executed, otherwise it is skipped.
@ -101,7 +101,7 @@ pipeline:
If required, Woodpecker can be made to skip whole pipelines based on `when`. This could be utilised to ensure compliance that only certain jobs run on certain agents (regional restrictions). Or targeting architectures. If required, Woodpecker can be made to skip whole pipelines based on `when`. This could be utilised to ensure compliance that only certain jobs run on certain agents (regional restrictions). Or targeting architectures.
This is achieved by ensuring the `when` block is on the root level. Rather than This is achieved by ensuring the `when` block is on the root level.
See [when](#step-when---step-conditional-execution) above to understand all the different types of conditions that can be used. See [when](#step-when---step-conditional-execution) above to understand all the different types of conditions that can be used.
@ -125,12 +125,12 @@ pipeline:
``` ```
Assuming we have two agents, one `arm` and one `amd64`. Previously this pipeline would have executed on **either agent**, as Woodpecker is not fussy about where it runs the pipelines. Assuming we have two agents, one `arm` and one `amd64`. Previously this pipeline would have executed on **either agent**, as Woodpecker is not fussy about where it runs the pipelines.
Because we had our original `when` block underneath the `build` block, if it was run on the `linux/amd64` agent. It would have cloned the repository, and then skipped the build step. Resulting in a Successful build. Because we had our original `when` block underneath the `build` block, if it was run on the `linux/amd64` agent. It would have cloned the repository, and then skipped the build step. Resulting in a Successful build.
Moving the when block to the root level will ensure that the whole pipeline will run be targeted to agents that match all of the conditions. Moving the when block to the root level will ensure that the whole pipeline will run be targeted to agents that match all of the conditions.
This can be utilised in conjunction with other when blocks as well. This can be utilised in conjunction with other when blocks as well.
Example `when` pipeline & step block: Example `when` pipeline & step block:
@ -198,6 +198,24 @@ pipeline:
+ - go test + - go test
``` ```
### File changes are incremental
- Woodpecker clones the source code in the beginning pipeline
- Changes to files are persisted through steps as the same volume is mounted to all steps
```yaml
# .woodpecker.yml
pipeline:
build:
image: debian
commands:
- echo "test content" > myfile
a-test-step:
image: debian
commands:
- cat myfile
```
### `image` ### `image`
Woodpecker uses Docker images for the build environment, for plugins and for service containers. The image field is exposed in the container blocks in the Yaml: Woodpecker uses Docker images for the build environment, for plugins and for service containers. The image field is exposed in the container blocks in the Yaml:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View file

@ -100,7 +100,7 @@ module.exports = {
href: 'https://github.com/woodpecker-ci/woodpecker', href: 'https://github.com/woodpecker-ci/woodpecker',
}, },
{ {
href: 'https://wp.laszlo.cloud/woodpecker-ci/woodpecker', href: 'https://ci.woodpecker-ci.org/woodpecker-ci/woodpecker',
label: 'CI', label: 'CI',
}, },
], ],