175 lines
2.7 KiB
YAML
175 lines
2.7 KiB
YAML
# drone 会自动先拉取代码
|
|
# 再按顺序执行 pipeline 配置中定义的任务
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: feature
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
include:
|
|
- feature/*
|
|
event:
|
|
include:
|
|
- push
|
|
- custom
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: deploy
|
|
image: appleboy/drone-ssh
|
|
settings:
|
|
host:
|
|
from_secret: host
|
|
username: root
|
|
key:
|
|
from_secret: ssh_key
|
|
port: 22
|
|
script_stop: true
|
|
script:
|
|
- cd /var/www/todo
|
|
- git fetch
|
|
- git checkout ${DRONE_BRANCH}
|
|
- git reset --hard ${DRONE_COMMIT}
|
|
- docker-compose down
|
|
- docker-compose up -d --build --force-recreate
|
|
- docker image prune -f
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: develop
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
include:
|
|
- develop
|
|
event:
|
|
include:
|
|
- push
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: deploy
|
|
image: appleboy/drone-ssh
|
|
settings:
|
|
host:
|
|
from_secret: host
|
|
username: root
|
|
key:
|
|
from_secret: ssh_key
|
|
port: 22
|
|
script_stop: true
|
|
script:
|
|
- cd /var/www/todo
|
|
- git fetch
|
|
- git checkout ${DRONE_BRANCH}
|
|
- git reset --hard ${DRONE_COMMIT}
|
|
- docker-compose down
|
|
- docker-compose up -d --build --force-recreate
|
|
- docker image prune -f
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: main-pull-request-staging
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
include:
|
|
- main
|
|
event:
|
|
- pull_request
|
|
action:
|
|
include:
|
|
- opened
|
|
- reopened
|
|
- synchronized
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: deploy
|
|
image: appleboy/drone-ssh
|
|
settings:
|
|
host:
|
|
from_secret: host
|
|
username: root
|
|
key:
|
|
from_secret: ssh_key
|
|
port: 22
|
|
script_stop: true
|
|
script:
|
|
- cd /var/www/todo
|
|
- git fetch
|
|
- git checkout ${DRONE_BRANCH}
|
|
- git reset --hard ${DRONE_COMMIT}
|
|
- docker-compose down
|
|
- docker-compose up -d --build --force-recreate
|
|
- docker image prune -f
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: main-tag-prod
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
include:
|
|
- main
|
|
event:
|
|
include:
|
|
- tag
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone-repo
|
|
image: alpine/git
|
|
commands:
|
|
- git clone ${DRONE_GIT_HTTP_URL} .
|
|
- git checkout ${DRONE_BRANCH}
|
|
- name: build-and-push-image
|
|
image: plugins/docker
|
|
settings:
|
|
registry:
|
|
from_secret: docker_registry
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
repo: gitea.bearcatlog.com/bryant/todo
|
|
context: .
|
|
dockerfile: ./Dockerfile
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
# auto_tag: true
|
|
purge: true
|
|
compress: true
|
|
# TODO 通知 k8s 更新镜像 |