Files
IPV6/.drone.yml
编码猿 1909ff27ae 2222
2025-09-09 09:11:29 +08:00

73 lines
1.6 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: nodejs-host-network-pipeline
steps:
# 第一步:准备环境并安装依赖
- name: install-dependencies
image: node:18-bullseye
commands:
# 安装iproute2工具
- apt-get update && apt-get install -y iproute2
# 验证ip命令是否可用
- ip -V
# 安装项目依赖
- npm install
volumes:
- name: node_modules
path: /app/node_modules
# 第二步:运行代码检查或测试(可选)
- name: run-tests
image: node:18-bullseye
commands:
- npm test # 如果有测试脚本
volumes:
- name: node_modules
path: /app/node_modules
# 第三步构建Docker镜像
- name: build-image
image: docker:20.10
volumes:
- name: docker-socket
path: /var/run/docker.sock
- name: node_modules
path: /app/node_modules
commands:
- docker build -t node-app:${DRONE_COMMIT_SHA:0:8} -f Dockerfile .
# 第四步使用host网络运行应用
- name: run-with-host-network
image: docker:20.10
volumes:
- name: docker-socket
path: /var/run/docker.sock
commands:
- |
docker run -d \
--restart always \
--network host \
--name node-app-${DRONE_COMMIT_SHA:0:8} \
node-app:${DRONE_COMMIT_SHA:0:8}
when:
branch:
- main
# 定义卷用于共享依赖和Docker socket
volumes:
- name: node_modules
temp: {}
- name: docker-socket
host:
path: /var/run/docker.sock
# 构建触发条件
trigger:
branch:
- main
- develop
event:
- push
- pull_request