drone/.drone.yml
liupeng 63717f5327
Some checks failed
continuous-integration/drone/push Build is failing
缓存
2024-03-01 12:54:34 +08:00

186 lines
4.1 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
name: default
#设置挂载
volumes:
#Go编译缓存
- name: pkgdeps
host:
path: /mnt/drone/cache/go
#Docker环境
- name: docker
host:
path: /var/run/docker.sock
#Docker配置
- name: docker-daemon
host:
path: /etc/docker/daemon.conf
clone:
disable: false # 启用代码拉取
steps:
#设置缓存
- name: clean
image: docker
network_mode: host
# 将宿主机的 docker和配置挂载到运行的 docker 容器中,那么在容器中运行 docker 命令时等同于在宿主机中运行该docker 命令
volumes:
- name: docker
path: /var/run/docker.sock
- name: images
path: /images
- name: docker-daemon
path: /etc/docker/daemon.conf
#构建镜像
- name: build
image: golang:latest
pull: if-not-exists
volumes:
- name: pkgdeps
path: /go/pkg
environment:
GOPROXY: "https://goproxy.cn,direct" # 懂的都懂
commands:
- CGO_ENABLED=0 go build -o adapt -ldflags="-w -s"
when:
branch:
- master
- dev
event:
- push
#推送镜像至镜像仓库
- name: publish
image: plugins/docker
pull: if-not-exists
volumes:
- name: docker
path: /var/run/docker.sock
- name: pkgdeps
path: /cache
# mirrors: #镜像仓库加速地址,不需要加速,可以直接删除
# from_secret: registry_mirrors
settings:
purge: false
registry: git.daymele.com
repo: git.daymele.com/liupeng/drone
tags:
- latest
username: liupeng
password: #镜像仓库密码
from_secret: DOCKER_PASSWORD
#部署镜像服务
# - name: ssh commands
# image: appleboy/drone-ssh
# pull: if-not-exists
# settings:
# host: dev.daymele.com
# port: 22
# username:
# from_secret: liup
# key:
# from_secret: HOST_KEY
# script:
# - cd /home/dockerConfig/project/go-gin
# - docker-compose pull && docker-compose up --force-recreate -d
# - docker rmi $(docker images | grep go-fblsj/person-api | grep none | awk '{print $3}')
# 开发版
# - name: docker-${DRONE_BRANCH}
# image: plugins/docker
# settings:
# username: liupeng
# password:
# from_secret: DOCKER_PASSWORD
# registry: git.daymele.com
# repo: git.daymele.com/liupeng/drone
# insecure: true
# debug: true
# dockerfile: Dockerfile
# tags:
# - canary
# when:
# branch:
# - master
# - dev
# event:
# - push
# 稳定版
# - name: docker-release
# image: plugins/docker
# settings:
# username: liupeng
# password:
# from_secret: DOCKER_PASSWORD
# registry: git.daymele.com
# repo: git.daymele.com/liupeng/drone
# insecure: true
# dockerfile: Dockerfile
# tags:
# - ${DRONE_TAG}
# - latest
# when:
# event:
# - tag
- name: deploy-${DRONE_BRANCH}
image: appleboy/drone-ssh
settings:
host:
- dev.daymele.com
username: liup
# password:
# from_secret: HOST_PASSWORD
key:
from_secret: HOST_KEY
port: 22
command_timeout: 2m
script:
- echo "deploy docker ssh!"
- name=drone-test
- image=git.daymele.com/liupeng/drone:latest
- echo ${DRONE_BRANCH}
- docker pull $image
- docker rm -f drone-test || true
- docker image prune -f
- docker run --name=$name -d -p 8001:9000 -v /etc/conf:/conf $image
when:
branch:
- master
- dev
event:
- push
# - name: deploy-release
# image: appleboy/drone-ssh
# settings:
# host:
# - pub.daymele.com
# username: liup
# # password:
# # from_secret: HOST_PASSWORD
# key:
# from_secret: HOST_KEY
# port: 22
# command_timeout: 2m
# script:
# - echo "deploy podman ssh!"
# - name=drone-release
# - image=git.daymele.com/liupeng/drone:latest
# - podman pull $image
# - podman rm -f drone-release || true
# - podman image prune -f
# - podman run --name=$name -d -p 8002:9000 -v /etc/conf:/conf $image
# when:
# event:
# - tag