woodpecker/README.md
2015-10-27 13:42:36 -07:00

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
```