strider-cd / drone Goto Github PK
View Code? Open in Web Editor NEWThe part that completes the core
License: BSD 3-Clause "New" or "Revised" License
The part that completes the core
License: BSD 3-Clause "New" or "Revised" License
Basically all that plugins need to do is take a config, job data, and interact with the system.
Systems could be inside of docker or some other environment.
I feel like users should be able to reuse gulp, grunt, and npm tasks easily, as well as raw bash or whatever other shell they want.
I can envision plugins exporting an array like:
// ember-cli build
module.exports = {
name: 'ember-cli',
droneAPIVersion: '^1.0.0',
tasks: [{
name: 'install',
description: '...', // markdown?
schema: installConfigJSONSchema,
// function (jobData, taskConfig, cache, callback)
action: require('./install')
}, {
name: 'test',
description: '...',
schema: testConfigJSONSchema,
action: require('./test')
}, {
name: 'run',
description: '...',
schema: runConfigJSONSchema,
action: require('./run')
}, {
name: 'cleanup',
description: '...',
schema: cleanupConfigJSONSchema,
action: require('./cleanup')
}]
]
Now the drone has the following tasks:
Each of these tasks can have config options, with the defaults being sane. What each action does is up to the plugin, it could run straight up bash or use node and do fs.*, etc.
Core will send a workflow as part of the job, which is an array of tasks paired with configs for each task.
I think this is stage one of the plugins, from there we can write different base plugins that allow for easy development of different types of tasks (be extending them, etc.), like ones that run in docker or perform complicated bash stuff with ssh context, etc..
Feeling like it could be simplified with a JWT token. Token has CORE URL, and the drone token that will identify the drone.
This makes it super simple: DRONE_TOKEN=... npm start
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.