发布应用 Woodpecker (啄木鸟) 独立版

This commit is contained in:
ms
2026-01-08 13:53:21 +08:00
parent 12346ff9cd
commit 78aa888991
22 changed files with 533 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
additionalProperties:
formFields:
- default: "/home/woodpecker"
edit: true
envKey: WOODPECKER_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: "localhost:9000"
edit: true
envKey: WOODPECKER_SERVER
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: ""
edit: true
envKey: WOODPECKER_AGENT_SECRET
labelZh: 密钥
labelEn: Secret
required: true
type: text
- default: 4
edit: true
envKey: WOODPECKER_MAX_WORKFLOWS
labelZh: 最大任务数
labelEn: Maximum number of tasks
required: true
type: number
@@ -0,0 +1,21 @@
networks:
1panel-network:
external: true
services:
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:v3.12.0
container_name: ${CONTAINER_NAME}
command: agent
restart: always
networks:
- 1panel-network
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${WOODPECKER_ROOT_PATH}/agent:/etc/woodpecker
environment:
- HTTPS_PROXY=${HTTP_PROXY}
- NO_PROXY=127.0.0.1,localhost,.local,woodpecker-agent,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
@@ -0,0 +1,21 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
DATA_DIR="$WOODPECKER_ROOT_PATH"
chmod -R 777 "$DATA_DIR"
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
+27
View File
@@ -0,0 +1,27 @@
# Woodpecker (啄木鸟)
简单而强大的CI/CD引擎,具有很强的可扩展性
![Woodpecker](https://file.lifebus.top/imgs/app_name_cover.png)
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 安装说明
### 密钥
服务器和代理使用共享密钥来验证通信。该密钥应该是一个随机字符串,您需要对其保密。
您可以使用 `openssl rand -hex 32` 生成这样的字符串。
## 特性
+ 开源且免费
+ 基于 Docker 容器
+ 多工作流程
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W)
+24
View File
@@ -0,0 +1,24 @@
additionalProperties:
key: woodpecker-agent
name: Woodpecker Agent (啄木鸟)
tags:
- WebSite
- DevOps
- Local
shortDescZh: 啄木鸟是一个简单而强大的CI/CD引擎,具有很强的可扩展性
shortDescEn: Woodpecker is a simple, yet powerful CI/CD engine with great extensibility
type: website
crossVersionUpdate: true
limit: 0
website: https://woodpecker-ci.org/
github: https://github.com/woodpecker-ci/woodpecker/
document: https://woodpecker-ci.org/
architectures:
- 386
- amd64
- arm64
- ppc64le
- riscv64
- s390x
- arm/v6
- arm/v7
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="284.538" height="253.96">
<style>
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M162.51 33.188c-26.77.411-54.004 6.885-71.494 3.745-1.313-.232-2.124 1.338-1.171 2.265 14.749 14.003 20.335 28.16 36.718 30.065l.476.103c-7.567 7.799-14.028 18.018-18.571 31.171-4.89 14.106-6.268 29.421-7.89 47.105-2.445 26.332-5.173 56.152-20.038 93.54a246.489 246.489 0 0 0-13.27 45.946h22.652a221.202 221.202 0 0 1 11.249-37.786c16.049-40.374 19.073-73.257 21.505-99.693 1.493-16.255 2.806-30.309 6.796-41.853 11.647-33.527 39.408-40.889 61.056-36.693 21.004 4.067 41.673 20.502 40.592 44.016-.772 15.985-7.76 23.166-12.87 28.43-2.793 2.883-5.47 5.611-6.731 9.498-3.037 9.19.101 19.434 8.494 27.568 22.24 20.734 34.338 59.717 33.681 106.513h22.176c.592-52.935-13.951-97.839-40.503-122.626-2.097-2.021-2.69-3.604-3.191-3.347 1.222-1.544 3.217-3.346 4.633-4.813 29.382-21.79 77.813-1.892 107.054 9.653 7.58 2.985 11.274-4.338 4.067-8.623-25.097-14.84-76.54-54.016-105.368-79.718-4.029-3.54-6.796-7.8-11.455-11.738-15.547-27.439-41.84-33.127-68.597-32.728Zm35.238 60.27a15.161 15.161 0 0 0-2.008.232 15.161 15.161 0 0 0-1.506 29.434 15.154 15.154 0 0 0 9.473-28.79 15.161 15.161 0 0 0-5.959-.876zm-44.286 147.17a2.033 2.033 0 0 0-1.133.374c-1.08.772-1.93 3.05-.772 5.701 5.38 12.394 9.1 25.445 12.536 40.413h22.484c-5.676-16.629-16.307-34.055-27.851-43.978-2.008-1.737-3.913-2.574-5.251-2.51z" style="stroke-width:12.8704" transform="translate(-67.27 -33.169)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+230
View File
@@ -0,0 +1,230 @@
additionalProperties:
formFields:
- default: "/home/woodpecker"
edit: true
envKey: WOODPECKER_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 8000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: 9000
edit: true
envKey: PANEL_APP_PORT_GRPC
labelZh: GRPC 端口
labelEn: GRPC port
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: WOODPECKER_AGENT_SECRET
labelZh: 密钥
labelEn: Secret
required: true
type: text
- default: "http://localhost:8000"
edit: true
envKey: WOODPECKER_HOST
labelZh: 访问地址
labelEn: Host Address
required: true
type: text
- default: "false"
edit: true
envKey: WOODPECKER_OPEN
labelZh: 是否允许注册
labelEn: Allow registration
required: true
type: select
values:
- label: 允许
value: "true"
- label: 禁止
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_ADMIN
labelZh: 管理员账户列表
labelEn: Administrator account list
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_ORGS
labelZh: 组织列表
labelEn: Organization list
required: false
type: text
- default: "72h"
edit: true
envKey: WOODPECKER_SESSION_EXPIRES
labelZh: 登录过期时间
labelEn: Login expiration time
required: true
type: text
- default: ""
edit: true
envKey: HTTP_PROXY
labelZh: HTTP 代理
labelEn: HTTP proxy
required: false
type: text
- default: "false"
edit: true
envKey: WOODPECKER_GITHUB
labelZh: GitHub 集成
labelEn: GitHub Forges
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_GITHUB_CLIENT
labelZh: GitHub 客户端 ID
labelEn: GitHub client ID
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_GITHUB_SECRET
labelZh: GitHub 客户端密钥
labelEn: GitHub client secret
required: false
type: text
- default: "false"
edit: true
envKey: WOODPECKER_GITEA
labelZh: Gitea 集成
labelEn: Gitea Forges
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_GITEA_URL
labelZh: Gitea 地址
labelEn: Gitea URL
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_GITEA_CLIENT
labelZh: Gitea 客户端 ID
labelEn: Gitea client ID
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_GITEA_SECRET
labelZh: Gitea 客户端密钥
labelEn: Gitea client secret
required: false
type: text
- default: "false"
edit: true
envKey: WOODPECKER_FORGEJO
labelZh: Forgejo 集成
labelEn: Forgejo Forges
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_FORGEJO_URL
labelZh: Forgejo 地址
labelEn: Forgejo URL
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_FORGEJO_CLIENT
labelZh: Forgejo 客户端 ID
labelEn: Forgejo client ID
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_FORGEJO_SECRET
labelZh: Forgejo 客户端密钥
labelEn: Forgejo client secret
required: false
type: text
- default: "false"
edit: true
envKey: WOODPECKER_GITLAB
labelZh: GitLab 集成
labelEn: GitLab Forges
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_GITLAB_URL
labelZh: GitLab 地址
labelEn: GitLab URL
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_GITLAB_CLIENT
labelZh: GitLab 客户端 ID
labelEn: GitLab client ID
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_GITLAB_SECRET
labelZh: GitLab 客户端密钥
labelEn: GitLab client secret
required: false
type: text
- default: "false"
edit: true
envKey: WOODPECKER_BITBUCKET
labelZh: Bitbucket 集成
labelEn: Bitbucket Forges
required: true
type: select
values:
- label: 启用
value: "true"
- label: 禁用
value: "false"
- default: ""
edit: true
envKey: WOODPECKER_BITBUCKET_CLIENT
labelZh: Bitbucket 客户端 ID
labelEn: Bitbucket client ID
required: false
type: text
- default: ""
edit: true
envKey: WOODPECKER_BITBUCKET_SECRET
labelZh: Bitbucket 客户端密钥
labelEn: Bitbucket client secret
required: false
type: text
@@ -0,0 +1,26 @@
networks:
1panel-network:
external: true
services:
woodpecker-server:
image: woodpeckerci/woodpecker-server:v3.12.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:8000
- ${PANEL_APP_PORT_GRPC}:9000
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${WOODPECKER_ROOT_PATH}/server:/var/lib/woodpecker/
environment:
- TZ=Asia/Shanghai
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
- HTTPS_PROXY=${HTTP_PROXY}
- NO_PROXY=127.0.0.1,localhost,.local,woodpecker-server,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
@@ -0,0 +1,21 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
DATA_DIR="$WOODPECKER_ROOT_PATH"
chmod -R 777 "$DATA_DIR"
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
+27
View File
@@ -0,0 +1,27 @@
# Woodpecker (啄木鸟)
简单而强大的CI/CD引擎,具有很强的可扩展性
![Woodpecker](https://file.lifebus.top/imgs/app_name_cover.png)
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 安装说明
### 密钥
服务器和代理使用共享密钥来验证通信。该密钥应该是一个随机字符串,您需要对其保密。
您可以使用 `openssl rand -hex 32` 生成这样的字符串。
## 特性
+ 开源且免费
+ 基于 Docker 容器
+ 多工作流程
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W)
+24
View File
@@ -0,0 +1,24 @@
additionalProperties:
key: woodpecker-server
name: Woodpecker Server (啄木鸟)
tags:
- WebSite
- DevOps
- Local
shortDescZh: 啄木鸟是一个简单而强大的CI/CD引擎,具有很强的可扩展性
shortDescEn: Woodpecker is a simple, yet powerful CI/CD engine with great extensibility
type: website
crossVersionUpdate: true
limit: 0
website: https://woodpecker-ci.org/
github: https://github.com/woodpecker-ci/woodpecker/
document: https://woodpecker-ci.org/
architectures:
- 386
- amd64
- arm64
- ppc64le
- riscv64
- s390x
- arm/v6
- arm/v7
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="284.538" height="253.96">
<style>
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M162.51 33.188c-26.77.411-54.004 6.885-71.494 3.745-1.313-.232-2.124 1.338-1.171 2.265 14.749 14.003 20.335 28.16 36.718 30.065l.476.103c-7.567 7.799-14.028 18.018-18.571 31.171-4.89 14.106-6.268 29.421-7.89 47.105-2.445 26.332-5.173 56.152-20.038 93.54a246.489 246.489 0 0 0-13.27 45.946h22.652a221.202 221.202 0 0 1 11.249-37.786c16.049-40.374 19.073-73.257 21.505-99.693 1.493-16.255 2.806-30.309 6.796-41.853 11.647-33.527 39.408-40.889 61.056-36.693 21.004 4.067 41.673 20.502 40.592 44.016-.772 15.985-7.76 23.166-12.87 28.43-2.793 2.883-5.47 5.611-6.731 9.498-3.037 9.19.101 19.434 8.494 27.568 22.24 20.734 34.338 59.717 33.681 106.513h22.176c.592-52.935-13.951-97.839-40.503-122.626-2.097-2.021-2.69-3.604-3.191-3.347 1.222-1.544 3.217-3.346 4.633-4.813 29.382-21.79 77.813-1.892 107.054 9.653 7.58 2.985 11.274-4.338 4.067-8.623-25.097-14.84-76.54-54.016-105.368-79.718-4.029-3.54-6.796-7.8-11.455-11.738-15.547-27.439-41.84-33.127-68.597-32.728Zm35.238 60.27a15.161 15.161 0 0 0-2.008.232 15.161 15.161 0 0 0-1.506 29.434 15.154 15.154 0 0 0 9.473-28.79 15.161 15.161 0 0 0-5.959-.876zm-44.286 147.17a2.033 2.033 0 0 0-1.133.374c-1.08.772-1.93 3.05-.772 5.701 5.38 12.394 9.1 25.445 12.536 40.413h22.484c-5.676-16.629-16.307-34.055-27.851-43.978-2.008-1.737-3.913-2.574-5.251-2.51z" style="stroke-width:12.8704" transform="translate(-67.27 -33.169)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB