Add NAS CI demo

This commit is contained in:
admin
2026-06-16 03:38:51 +08:00
commit 91576dbaa6
4 changed files with 148 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
steps:
- name: smoke
image: alpine:3.20
commands:
- echo "Woodpecker can clone and run this repository."
- test -f Dockerfile
- test -f index.html
- name: build-and-push
image: docker:28-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- docker version
- docker build -t localhost:5050/cicd-demo:latest .
- docker push localhost:5050/cicd-demo:latest
when:
- event: push
branch: main
- event: manual
+3
View File
@@ -0,0 +1,3 @@
FROM nginx:1.27-alpine
COPY index.html /usr/share/nginx/html/index.html
+46
View File
@@ -0,0 +1,46 @@
# NAS CI/CD Demo
This is a tiny project for testing the NAS Gitea + Woodpecker + Registry flow.
Expected pipeline:
1. Push this repository to Gitea.
2. Enable the repository in Woodpecker.
3. Woodpecker runs `.woodpecker.yml`.
4. The pipeline builds an nginx image.
5. The image is pushed to the NAS Registry as:
```text
localhost:5050/cicd-demo:latest
```
## Push To Gitea
Create an empty repository named `cicd-demo` in Gitea first, then run:
```bash
git init
git add .
git commit -m "Add CI demo"
git branch -M main
git remote add origin http://10.26.238.251:3000/<your-gitea-user>/cicd-demo.git
git push -u origin main
```
Replace `<your-gitea-user>` with your Gitea username.
## Verify The Built Image On NAS
After the Woodpecker build succeeds, run this on the NAS:
```bash
docker pull localhost:5050/cicd-demo:latest
docker rm -f cicd-demo-web 2>/dev/null || true
docker run -d --name cicd-demo-web -p 18080:80 localhost:5050/cicd-demo:latest
```
Open:
```text
http://10.26.238.251:18080
```
+78
View File
@@ -0,0 +1,78 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>NAS CI/CD Demo</title>
<style>
:root {
color-scheme: light dark;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: #0f172a;
color: #e2e8f0;
}
body {
display: grid;
min-height: 100vh;
margin: 0;
place-items: center;
}
main {
width: min(680px, calc(100vw - 48px));
padding: 40px;
border: 1px solid #334155;
border-radius: 8px;
background: #111827;
box-shadow: 0 24px 64px rgb(0 0 0 / 0.28);
}
h1 {
margin: 0 0 12px;
font-size: 32px;
line-height: 1.15;
}
p {
margin: 0 0 16px;
color: #cbd5e1;
line-height: 1.7;
}
code {
padding: 2px 6px;
border-radius: 4px;
background: #1f2937;
color: #93c5fd;
}
.status {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 16px;
color: #86efac;
font-weight: 700;
}
.dot {
width: 10px;
height: 10px;
border-radius: 999px;
background: #22c55e;
}
</style>
</head>
<body>
<main>
<h1>NAS CI/CD Demo</h1>
<p>
如果你看到这个页面,说明镜像已经由 Woodpecker 构建,并且可以从本地
Registry 运行。
</p>
<p>镜像名:<code>localhost:5050/cicd-demo:latest</code></p>
<div class="status"><span class="dot"></span> pipeline smoke test ready</div>
</main>
</body>
</html>