imgsearcher/.drone.yml
2025-04-14 14:23:02 +08:00

69 lines
1.8 KiB
YAML

# Drone CI/CD 配置文件
kind: pipeline
type: docker # 使用 Docker 作为执行环境
name: imgsearcher-pipeline
steps:
# 步骤1: 构建 Python 应用
- name: build_imgsearcher
image: ccr-29eug8s3-vpc.cnc.bj.baidubce.com/service/python:3.9-slim
commands:
- pip install poetry
- poetry config virtualenvs.create false
- poetry install --no-dev
- mkdir -p build/imgsearcher
- cp -r app.py app pyproject.toml poetry.lock Dockerfile build/imgsearcher/
when:
branch:
- dev
# 步骤2: 构建 imgsearcher 服务的 Docker 镜像
- name: image_imgsearcher
image: ccr-29eug8s3-vpc.cnc.bj.baidubce.com/service/kaniko:latest
settings:
registry: ccr-29eug8s3-vpc.cnc.bj.baidubce.com
repo: ccr-29eug8s3-vpc.cnc.bj.baidubce.com/service/imgsearcher
username:
from_secret: registry_username
password:
from_secret: registry_password
tags:
- latest
- ${DRONE_COMMIT_SHA}
dockerfile: Dockerfile
build_args:
- HTTP_PROXY=${HTTP_PROXY}
- HTTPS_PROXY=${HTTPS_PROXY}
- NO_PROXY=${NO_PROXY}
when:
branch:
- dev
# 步骤3: 部署 imgsearcher 到开发环境
- name: deploy-imgsearcher-dev
image: ccr-29eug8s3-vpc.cnc.bj.baidubce.com/service/drone-kubernetes
settings:
kubernetes_server:
from_secret: kubernetes_server_dev
kubernetes_token:
from_secret: kubernetes_token_dev
kubernetes_cert:
from_secret: kubernetes_cert_dev
namespace:
from_secret: kubernetes_namespace_dev
deployment: imgsearcher
container: imgsearcher
repo: ccr-29eug8s3-vpc.cnc.bj.baidubce.com/service/imgsearcher
tag: ${DRONE_COMMIT_SHA}
when:
branch:
- dev
trigger:
branch:
- dev
event:
- push
- tag