尽量先去官网简单看看。
drone官网:https://docs.drone.io/
drone插件的网址:https://plugins.drone.io/
这里记录一些我使用的一些简单的流水线配置:
golang
kind: pipeline # 定义对象类型,还有secret和signature两种类型
type: ssh # 定义流水线类型,还有kubernetes、exec、docker等类型
name: testpipeline # 定义流水线名称
server:
host: 127.0.0.1
user: root
password:
from_secret: passwdlocal # 可以在你的drone web界面设置里进行设置,这儿直接引用
platform:
os: linux
arch: amd64
#workspace:
clone:
depth: 1 # 定义git克隆的深度,这里只需要完整的克隆项目就行,之前的提交并不需要去克隆
disable: false
steps: # 定义流水线执行步骤,这些步骤将顺序执行
- name: greeting
failure: always # 默认值always指示失败的步骤总是使整个管道失败。值ignore表示忽略失败。
commands:
- echo hello dpsnew
- ls
- docker-compose -f docker-compose.yml up -d
# - docker images |grep none |xargs docker rmi
# - docker container prune -f
# - docker volume prune -f
# - docker network prune -f
environment:
when: # when应用于step
# depends_on:
trigger: # trigger应用于整个pipeline
action:
branch:
- master #我这里只需要部署master主分支就行
cron:
event:
# - tag
instance:
ref:
# - refs/tags/release*
# - refs/tags/test*
repo:
status:
target:
java
.drone.yml文件同golang,主要将Dockerfile记录一下
FROM maven:3.8.5-jdk-8 AS builder
LABEL by="zzf"
WORKDIR /usr/src/app
COPY settings.xml /usr/share/maven/conf #官方镜像里面下载地址是0.0.0.0
COPY pom.xml .
#RUN mvn -B -e -C -T 1C org.apache.maven.plugins:maven-dependency-plugin:3.1.2:resolve-plugins install
RUN mvn install
COPY src src
RUN mvn install -Dmaven.test.skip=true
FROM java:8
ENV TZ Asia/Shanghai
COPY --from=builder /usr/src/app/target/*.jar ./
EXPOSE 9111
CMD ["java","-jar","test-1.0-fat.jar"]