68 lines
2.6 KiB
Markdown
68 lines
2.6 KiB
Markdown
[![Build Status](http://beta.drone.io/api/badges/drone/drone/status.svg)](http://beta.drone.io/drone/drone)
|
|
|
|
Drone is a Continuous Integration platform built on container technology. Every build is executed inside an ephemeral Docker container, giving developers complete control over their build environment with guaranteed isolation.
|
|
|
|
### Goals
|
|
|
|
Drone's prime directive is to help teams [ship code like GitHub](https://github.com/blog/1241-deploying-at-github#always-be-shipping). Drone is easy to install, setup and maintain and offers a powerful container-based plugin system. Drone aspires to be an industry-wide replacement for Jenkins.
|
|
|
|
### Documentation
|
|
|
|
Drone documentation is organized into several categories:
|
|
|
|
* [Setup Guide](http://readme.drone.io/setup/)
|
|
* [Build Guide](http://readme.drone.io/build/)
|
|
* [Plugin Guide](http://readme.drone.io/plugin/)
|
|
* [CLI Reference](http://readme.drone.io/cli/)
|
|
* [API Reference](http://readme.drone.io/api/)
|
|
|
|
### Community, Help
|
|
|
|
Contributions, questions, and comments are welcomed and encouraged. Drone developers hang out in the [drone/drone](https://gitter.im/drone/drone) room on gitter. We ask that you please post your questions to [gitter](https://gitter.im/drone/drone) before creating an issue.
|
|
|
|
### Cloning, Building, Running
|
|
|
|
If you are new to Go, make sure you [install](http://golang.org/doc/install) Go 1.5+ and [setup](http://golang.org/doc/code.html) your workspace (ie `$GOPATH`). Go programs use directory structure for package imports, therefore, it is very important you clone this project to the specified directory in your Go path:
|
|
|
|
```
|
|
git clone git://github.com/drone/drone.git $GOPATH/src/github.com/drone/drone
|
|
cd $GOPATH/src/github.com/drone/drone
|
|
```
|
|
|
|
Please ensure your local environment has the following dependencies installed. We provide scripts in the `./contrib` folder as a convenience that can be used to install:
|
|
|
|
* libsqlite3
|
|
* sassc
|
|
|
|
Commands to build from source:
|
|
|
|
```sh
|
|
export GO15VENDOREXPERIMENT=1
|
|
|
|
make deps # Download required dependencies
|
|
make gen # Generate code
|
|
make build # Build the binary
|
|
```
|
|
|
|
Commands for development:
|
|
|
|
```sh
|
|
make gen_static # Generate static content
|
|
make gen_template # Generate templates from amber files
|
|
make gen_migrations # Generate embedded database migrations
|
|
make vet # Execute go vet command
|
|
make fmt # Execute go fmt command
|
|
```
|
|
|
|
Commands to start drone:
|
|
|
|
```sh
|
|
drone
|
|
drone --debug # Debug mode enables more verbose logging
|
|
```
|
|
|
|
If you are seeing slow compile times please install the following:
|
|
|
|
```sh
|
|
go install github.com/mattn/go-sqlite3
|
|
```
|