drone 1.0 新的定时任务界面&&构建任务支持重启

drone 1.0 的定时任务是一个不错的功能,早期的版本是必须使用cron 表达式的
最近发布的版本支持通过配置就可以了,很方便,只是目前比较简单的,支持小时、
天、周、月、年的模式

环境准备

  • docker-compose 文件
version: '3'
services:
  drone-server:
    image: drone/drone:1.0.0-rc.1
    ports:
      - "80:80"
    volumes:
      - ./drone:/var/lib/drone/
    environment:
      - DRONE_OPEN=true
      - DRONE_SERVER_HOST=drone-server
      - DRONE_DEBUG=true
      - DRONE_GIT_ALWAYS_AUTH=false
      - DRONE_GOGS=true
      - DRONE_GOGS_SKIP_VERIFY=false
      - DRONE_GOGS_SERVER=http://gogs:3000
      - DRONE_PROVIDER=gogs
      - DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
      - DRONE_DATABASE_DRIVER=sqlite3
      - DRONE_SERVER_PROTO=http
      - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw
  gogs:
    image: gogs/gogs
    ports:
      - "10022:22"
      - "3000:3000"
    volumes:
      - ./data/gogs:/data
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7.16
    volumes:
      - ./gogs/mysql:/var/lib/mysql
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: dalongrong
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: dalongrong
      TZ: Asia/Shanghai
  drone-agent:
    image: drone/agent:1.0.0-rc.1
    depends_on:
      - drone-server
    environment:
      - DRONE_RPC_SERVER=http://drone-server
      - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw
      - DRONE_DEBUG=true
      - DOCKER_HOST=tcp://docker-bind:2375
  docker-bind:
     image: docker:dind
     privileged: true
    # command: --storage-driver=overlay
  • 启动&&配置
    项目使用gogs 进行git 管理,首先需要配置gogs,添加用户,创建简单的项目,
    项目drone配置文件
kind: pipeline
name: default
steps:
- name: info
  image: busybox
  commands:
  - echo "appdemo"

集成drone&&测试

  • 集成效果
    drone 1.0 新的定时任务界面&&构建任务支持重启_drone
  • cron 效果
    drone 1.0 新的定时任务界面&&构建任务支持重启_drone_02
  • 步骤重启
    drone 1.0 新的定时任务界面&&构建任务支持重启_drone_03
    说明,当时这个步骤只支持部分任务的,重新运行,对于已经运行完成之后,因为基于容器的共享存储已经删除,除非合适共享

参考资料

https://docs.drone.io/
https://docs.drone.io/config/pipeline/steps/
https://github.com/rongfengliang/drone-1.0-gogs