1
0
forked from jk_yinzy/cicd-test
2025-12-05 05:32:53 -05:00

67 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

kind: pipeline
type: docker
name: multi-lang-ci
trigger:
branch:
- main
# 克隆策略:只拉最新 commit加速
clone:
depth: 0
image: drone/git:latest
pull: false
steps:
# 自动检测是否存在 Java (pom.xml)
- name: java-build
image: maven:3.9-eclipse-temurin
pull: false
environment:
MAVEN_OPTS: -Dmaven.repo.local=.m2/repository
commands:
# 先创建 .m2 目录
- mkdir -p ~/.m2
# 动态生成 settings.xml仅用于 CI
- |
cat > ~/.m2/settings.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings>
EOF
- mvn clean verify
- if [ -f pom.xml ]; then mvn clean compile; fi
when:
event: [ push, pull_request ]
# 自动检测是否存在 Python (requirements.txt)
- name: python-test
image: python:3.12.0-slim
pull: false
commands:
# 临时设置 pip 源(仅本次会话)
- pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
- pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn
- if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- if [ -f test_example.py ]; then python -m pytest test_example.py -v; fi
when:
event: [ push, pull_request ]
# 最终报告(无论成功失败都运行)
- name: summary
image: alpine
pull: false
commands:
- echo "✅ CI completed at $(date)"
when:
status: [ success, failure ]