From dd9d564e37d0d7478d27735a24f988ad905303f8 Mon Sep 17 00:00:00 2001 From: InkSoul Date: Tue, 8 Aug 2023 16:50:33 +0800 Subject: [PATCH] test drone --- content/stuff/drone部署和与gitea的集成.md | 79 ++++++++++++++++++ hugobuild.drone.yml | 18 ++++ readme.md | 1 + .../杂物/Drone部署和与gitea的集成/OAth2.png | Bin 0 -> 39532 bytes 4 files changed, 98 insertions(+) create mode 100644 content/stuff/drone部署和与gitea的集成.md create mode 100644 hugobuild.drone.yml create mode 100644 readme.md create mode 100644 static/images/杂物/Drone部署和与gitea的集成/OAth2.png diff --git a/content/stuff/drone部署和与gitea的集成.md b/content/stuff/drone部署和与gitea的集成.md new file mode 100644 index 0000000..adf90a8 --- /dev/null +++ b/content/stuff/drone部署和与gitea的集成.md @@ -0,0 +1,79 @@ +--- +title: "Drone部署和与gitea的集成" +date: 2023-08-07T19:09:08+08:00 + +--- + +原本的博客是直接使用的非开发模式的hugo server,但随着博客内容增多,内存占用巨大,经历昨晚内存溢出至交换区使服务器超高磁盘IO,所有服务无响应后决定将静态页面直接由原有反向代理的nginx直接托管 + +为了便于专注创作,在gitea上引入drone CI来做简单的持续集成变得有所必要,毕竟每次提交后都要手动pull和构建远远不够优雅:D + +本文记录drone CI的docker-compose 方式部署并与已经完成部署的gitea docker集成,官方文档不推荐此种方式部署,也不建议gitea和drone部署在一台服务器上(预算不足暂出此策) + +首先需要在gitea上创建OAth2应用令牌并设置应用的重定向URL + +![](../../static/images/%E6%9D%82%E7%89%A9/Drone%E9%83%A8%E7%BD%B2%E5%92%8C%E4%B8%8Egitea%E7%9A%84%E9%9B%86%E6%88%90/OAth2.png) + +生成用于Drone的server和runner间通信的通信密钥 + +```bash +openssl rand -hex 16 +``` + +drone-server的docker-compose文件 + +```yaml +version: "3" + +services: + drone-server: + image: drone/drone:2.13.0 + container_name: drone-server + restart: always + ports: + - "7500:80" + volumes: + - ./data:/data + environment: + - DRONE_GITEA_SERVER= Gitea 服务器地址,例如 https://gitea.inksoul.top。注意填写准确的 http(s) 协议,否则你会看到来自 Gitea 的错误报告:unsupported protocol scheme + - DRONE_GITEA_CLIENT_ID=Gitea OAuth 客户端ID + - DRONE_GITEA_CLIENT_SECRET=Gitea OAuth 客户端密钥 + - DRONE_RPC_SECRET=在准备工作中使用 openssl rand -hex 16 生成的共享密钥。这个密钥用于验证 Drone Server 和 Runner 之间的 RPC 连接。因此,在 Server 和 Runner 上都必须使用相同的密钥 + - DRONE_SERVER_HOST=访问 Drone 时所用的域名或 IP 地址。如果使用 IP 地址,还应该包含端口 + - DRONE_SERVER_PROTO=设置服务器的协议,使用:http 或 https。 默认为 https + - DRONE_USER_CREATE=管理员配置,这里的管理员用户名是Git仓库的用户名,不一定是Git仓库的管理员,只要是Git仓库的用户即可,例如 username:inksoul,admin:true +``` + +在完成域名解析绑定和nginx中反向代理设定后,就可以拉取容器并启用了 + +nignx反向代理则在官方文档中有指出 + +```conf + location / { + + proxy_pass http://localhost:port/; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_http_version 1.1; + proxy_buffering off; + proxy_pass_request_headers on; + } +``` + +完成准备后即可运行启动drone-server + +```bash +docker-compose up -d +``` + +随后可以安装负责流水线的droen-runner + +``` + + +``` + + + diff --git a/hugobuild.drone.yml b/hugobuild.drone.yml new file mode 100644 index 0000000..72c0791 --- /dev/null +++ b/hugobuild.drone.yml @@ -0,0 +1,18 @@ +kind: pipeline +type: docker +name: blog-publish + +steps: + - name: build + image: inksoul/hugo-rsync + volumes: #挂载数据卷 + - name: blog + path: /data + commands: + - hugo + - rsync -a --delete --exclude '.user.ini' public/ /data + +volumes: #声明数据卷 + - name: blog + host: + path: /home/ubuntu/myWork/Blog/InkSoul/public \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..0a8753f --- /dev/null +++ b/readme.md @@ -0,0 +1 @@ +[![Build Status](https://drone.inksoul.top/api/badges/inksoul/InkSoul/status.svg)](https://drone.inksoul.top/inksoul/InkSoul) \ No newline at end of file diff --git a/static/images/杂物/Drone部署和与gitea的集成/OAth2.png b/static/images/杂物/Drone部署和与gitea的集成/OAth2.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ae00c1b3ce9cc7f4eae7edcd22f97554da040a GIT binary patch literal 39532 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 LUnq*>d-CG%$8$Q= literal 0 HcmV?d00001