Skip to content

woodpecker-ci

Woodpecker Server:负责任务调度

Woodpecker Server 8000 负责 web ui,9000 负责与 Agent 通信

Woodpecker Agent:负责任务执行

sh
mkdir -p /opt/woodpecker-ci

cd /opt/woodpecker-ci

mkdir -p woodpecker/server  woodpecker/agent

vim docker-compose.yml
sh
openssl rand -hex 32
sh
vim woodpecker.env
WOODPECKER_AGENT_SECRET=3bcfec09f44996b0b7299192d85f5642f6f1fa1366b94f65a2b572d5fa3df67e
WOODPECKER_GITEA_CLIENT=9df9852e-a4bc-4ef1-85c2-c0e992a02a12
WOODPECKER_GITEA_SECRET=gto_ssbxsh5qgeclp4hcp3lpphnqfz6sb4wdlb3nchqmzvst5bphhdia
yml
services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:v3.15.0
    container_name: woodpecker-server
    restart: unless-stopped 
    environment:
      WOODPECKER_OPEN: "true"
      WOODPECKER_HOST: "http://ci.local.q123q.cc"
      WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}

      WOODPECKER_GITEA: "true"
      WOODPECKER_GITEA_URL: "http://git.local.q123q.cc"
      WOODPECKER_GITEA_CLIENT: ${WOODPECKER_GITEA_CLIENT}
      WOODPECKER_GITEA_SECRET: ${WOODPECKER_GITEA_SECRET}
    volumes:
      - ./woodpecker/server:/var/lib/woodpecker
    ports:
      - "4000:8000"
    networks:
      - gitea-network
      - traefik-network

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:v3.15.0
    container_name: woodpecker-agent
    restart: unless-stopped
    depends_on:
      - woodpecker-server 
    environment:
      WOODPECKER_SERVER: "woodpecker-server:9000"
      WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}
      WOODPECKER_BACKEND_DOCKER_VOLUMES: "/opt/frontend-dist:/deploy"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./woodpecker/agent:/etc/woodpecker
    networks:
      - gitea-network 

networks:
  gitea-network: 
    external: true
  traefik-network:
    external: true

如何设置

gitea 中的三个地址非常重要!
gitea 中的三个地址非常重要!
gitea 中的三个地址非常重要!

头像 -> 设置 -> 应用 -> 管理 OAuth2 应用程序 -> 创建新的 OAuth2 应用程序

“管理 OAuth2 应用程序” 需要向下滑

注意一定要用 /authorize