From 1b2b268c41d2cbaf5e9083653116fdf135f8525a Mon Sep 17 00:00:00 2001 From: seahi Date: Wed, 16 Apr 2025 09:18:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87drone=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 21 +++++++++++++++++++++ Dockerfile | 8 ++++++++ scripts/news_broadcast.sh | 10 ++++++++++ scripts/weather_report.sh | 10 ++++++++++ supervisor/conf.d/supervisord.conf | 22 ++++++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 .drone.yml create mode 100644 Dockerfile create mode 100644 scripts/news_broadcast.sh create mode 100644 scripts/weather_report.sh create mode 100644 supervisor/conf.d/supervisord.conf diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..6a1b953 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,21 @@ +kind: pipeline +type: docker +name: Build docker iamge + +node: + name: pve + +steps: + - name: Build supervisor image + pull: if-not-exists + image: plugins/docker:20.10 + privileged: false + settings: + dockerfile: Dockerfile + auto-tag: true + registry: harbor.seahi.me + repo: harbor.seahi.me/stu/task-supervisor + username: + from_secret: harbor_username + password: + from_secret: harbor_password diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3969e32 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu + +RUN apt update -y && apt install -y supervisor + +COPY supervisor /etc/supervisor +COPY scripts /scripts + +CMD ["/usr/bin/supervisord"] diff --git a/scripts/news_broadcast.sh b/scripts/news_broadcast.sh new file mode 100644 index 0000000..2bc3414 --- /dev/null +++ b/scripts/news_broadcast.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "新闻播报服务启动中..." +while true +do + # 模拟每5秒输出一次新闻头条 + echo "[新闻播报] 当前时间: $(date '+%Y-%m-%d %H:%M:%S'),头条:今日科技新闻,新型AI技术发布!" + sleep 5 +done + diff --git a/scripts/weather_report.sh b/scripts/weather_report.sh new file mode 100644 index 0000000..19e0ff6 --- /dev/null +++ b/scripts/weather_report.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "天气预报服务启动中..." +while true +do + # 模拟每10秒输出一次天气预报 + echo "[天气预报] 当前时间: $(date '+%Y-%m-%d %H:%M:%S'),天气:晴朗,温度:25°C" + sleep 10 +done + diff --git a/supervisor/conf.d/supervisord.conf b/supervisor/conf.d/supervisord.conf new file mode 100644 index 0000000..6b9448e --- /dev/null +++ b/supervisor/conf.d/supervisord.conf @@ -0,0 +1,22 @@ +[supervisord] +# 设置是否在前台启动 +nodaemon=true +# 关闭supervisor自身的日志 +logfile=/dev/null +loglevel=error +logfile_maxbytes=0 + + +# 定义被管理的进程 +[program:weather_report] +command=/bin/bash /scripts/weather_report.sh +stdout_logfile=/dev/stdout # 将标准输出重定向到容器标准输出 +stdout_logfile_maxbytes=0 +stdout_events_enabled=false + + +[program:news_broadcast] +command=/bin/bash /scripts/news_broadcast.sh +stdout_logfile=/dev/stdout # 将标准输出重定向到容器标准输出 +stdout_logfile_maxbytes=0 +stdout_events_enabled=false