- Replace mkdocs with docosaurus (improved menu structure, ...) - Structure docs into `Usage` and `Server Setup / Administration` - Update favicon - Create new pipeline-syntax page with all options and links to more detailed docs if available - Add ci to publish to `woodpecker-ci.github.io` - Deploy docs preview to surge for review - Update start-page Co-authored-by: 6543 <6543@obermui.de>
1.7 KiB
Services
Woodpecker provides a services section in the Yaml file used for defining service containers. The below configuration composes database and cache containers.
pipeline:
build:
image: golang
commands:
- go build
- go test
services:
database:
image: mysql
cache:
image: redis
Services are accessed using custom hostnames. In the above example the mysql service is assigned the hostname database
and is available at database:3306
.
Configuration
Service containers generally expose environment variables to customize service startup such as default usernames, passwords and ports. Please see the official image documentation to learn more.
services:
database:
image: mysql
+ environment:
+ - MYSQL_DATABASE=test
+ - MYSQL_ALLOW_EMPTY_PASSWORD=yes
cache:
image: redis
Detachment
Service and long running containers can also be included in the pipeline section of the configuration using the detach parameter without blocking other steps. This should be used when explicit control over startup order is required.
pipeline:
build:
image: golang
commands:
- go build
- go test
database:
image: redis
+ detach: true
test:
image: golang
commands:
- go test
Containers from detached steps will terminate when the pipeline ends.
Initialization
Service containers require time to initialize and begin to accept connections. If you are unable to connect to a service you may need to wait a few seconds or implement a backoff.
pipeline:
test:
image: golang
commands:
+ - sleep 15
- go get
- go test
services:
database:
image: mysql