💾 Archived View for wilw.capsule.town › log › 2023-04-23-woodpecker-ci.gmi captured on 2023-09-08 at 15:49:33. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-04-26)

-=-=-=-=-=-=-

🏡 Home

Back to gemlog

CI/CD with Woodpecker and Gitea

Posted on 23 April 2023

Some of my personal projects are beginning to get larger and more complicated, often involving different front-ends and services that all need to be separately built and deployed. Managing all of these is taking away more of my personal time, and I've been on the look-out for a good CI/CD automation system for these projects. I primarily use Gitea [1] as a git server, and have been struggling to find a system that suited my needs and works well with Gitea.

1

I know of Jenkins' Gitea plugin [2], and other similar alternatives, but many of these tools are ones I've tried in the past and didn't get on with for one reason or another.

2

There is also the upcoming Gitea Actions [3] feature, which aims to provide similar functionality to GitHub's own Actions. However this is still experimental and my early tests did not (yet) allow me to settle on this reliably.

3

More recently I stumbled across Woodpecker [4], which has in-built support for Gitea [5] and a super-easy setup (as I briefly document in this Woodpecker note [6]).

4

5

6

Once Woodpecker is running, one can simply login with single sign-on (SSO) provided via the configured Gitea instance. This then allows Woodpecker to automatically fetch your repos and, when attached, create the required webhooks.

Adding repos to Woodpecker is straight forward through the web UI, and each repository can be configured with secrets (e.g. Docker credentials) and any extra settings. Setting up the build pipeline instructions themselves is as simple as creating a `.woodpecker.yml` file in your project root, following the simple syntax [7].

7

I now use Woodpecker for a number of projects and services, and for a variety of tasks -- including building and deploying websites/apps, Docker images, and even Flutter apps. For interest, the pipeline for this Hugo website can be viewed here [8].

8

From all the continuous development options I've tried, Woodpecker is certainly my current favourite, and I feel it is one that will stick. I find the UI simple and intuitive, and also blazing fast, with updates showing in real-time.

The build speeds themselves are, of course, only as quick as the underlying resources allow. Currently I run Woodpecker on a dedicated VPS with 4GB memory, and this performs fine for my needs.

🤘

Reply via email

Back to gemlog