You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Continuous Integration (CI) tools are vital for automating the testing and deployment of modern software. One such open-source tool is Woodpecker CI, a lightweight CI/CD system. Woodpecker CI is an open-source continuous integration and delivery platform that helps developers automate building, testing, and deploying their code. It is a community-driven fork and successor of the popular Drone CI project, sharing many design principles and compatibility with Drone pipelines. Traditionally, Woodpecker pipelines are written in YAML. But with the rise of programmable pipelines, we now have the flexibility to define our CI configuration using Starlark — a Python-like configuration language.
12
+
Continuous Integration tools are essential to build and test modern software automatically and regularly. Woodpecker CI is one such open-source tool, a lightweight CI/CD system. Woodpecker CI is an open-source continuous integration and delivery system that help developers in automating deployment, builds, and testing of code. It's an open-source fork and alternative to the popular Drone CI project with numerous design similarities and Drone pipeline compatibility. Traditionally, Woodpecker pipelines are YAML, but now that programmable pipelines are in vogue, we can finally have the liberty of defining our CI configuration through Starlark — a Python-ish config language.
13
13
14
-
In this blog, I’ll walk you through setting up Woodpecker CI with Traefik as a reverse proxy and integrating it with WCCS (Woodpecker CI Config Service) to convert Starlark configurations into YAML files, enabling us to write pipelines in .woodpecker.star files. Here's a high-level view of what we'll cover:
14
+
In this article, I will walk you through setting up Woodpecker CI with Traefik as a reverse proxy and WCCS (Woodpecker CI Config Service) to convert Starlark configurations into YAML files so that we can write pipelines in .woodpecker.star files. Here is a high-level overview of what we are going through:
15
15
16
16
- Spinning up a Woodpecker server with Traefik
17
17
@@ -24,12 +24,14 @@ In this blog, I’ll walk you through setting up Woodpecker CI with Traefik as a
24
24
By the end, you’ll be able to write CI pipelines in Starlark and dynamically convert them to YAML during runtime.
25
25
26
26
## Prepare Woodpecker secrets via .env
27
+
Create a `.env` file to store your environment variables.
@@ -181,6 +184,7 @@ Store that public key into `keys/public.pem` in the same directory level as your
181
184
## Setting Up WCCS-Woodpecker CI Config Service (Starlark Conversion Service)
182
185
The Woodpecker Config Conversion Service (WCCS) is a lightweight web service created and maintained by [Opencloud-eu](https://opencloud.eu/en). It enables Woodpecker CI to convert pipeline definitions written in Starlark into standard YAML on the fly by receiving a signed POST request from Woodpecker.
183
186
You can easily deploy WCCS using their official Docker image available on Docker Hub: [opencloudeu/wccs](https://hub.docker.com/r/opencloudeu/wccs).
187
+
Update your `docker-compose.yml` to include the WCCS service:
184
188
```yml
185
189
wccs:
186
190
image: opencloudeu/wccs:latest
@@ -241,7 +245,7 @@ def main(ctx):
241
245
242
246
## Triggering Your First CI Run
243
247
Now that you have your `.woodpecker.star` file ready, commit and push it to your GitHub repository and then, open a Pull Request from your branch <your-branch-name> to master.
244
-
Once the PR is created, Woodpecker will automatically send the build request to WCCS, fetch the pipeline config, and start your first CI run. You can head over to the Woodpecker UI to watch the build logs in real time.
248
+
Once the PR is created, Woodpecker will automatically send the build request to WCCS, fetch the pipeline configuration, and start your first CI run. You can head over to the Woodpecker UI to watch the build logs in real time.
0 commit comments