some initial documentation
This commit is contained in:
parent
52c62d4c70
commit
14f0ffb587
5 changed files with 144 additions and 4 deletions
2
Makefile
2
Makefile
|
@ -17,6 +17,8 @@ build:
|
|||
go build -o bin/drone -ldflags "-X main.revision $(SHA) -X main.version $(VERSION).$(SHA)" github.com/drone/drone/cmd/drone-server
|
||||
go build -o bin/drone-agent -ldflags "-X main.revision $(SHA) -X main.version $(VERSION).$(SHA)" github.com/drone/drone/cmd/drone-agent
|
||||
|
||||
run:
|
||||
bin/drone-server --debug
|
||||
|
||||
clean:
|
||||
find . -name "*.out" -delete
|
||||
|
|
|
@ -1 +1,36 @@
|
|||
install-docker.md
|
||||
An official Drone image is available in the [Docker registry](https://registry.hub.docker.com/u/drone/drone/). This is the recommended way to install and run Drone on non-Ubuntu environments. Pull the latest Drone image to get started:
|
||||
|
||||
```bash
|
||||
sudo docker pull drone/drone
|
||||
```
|
||||
|
||||
An example command to run your Drone instance with GitHub enabled:
|
||||
|
||||
```bash
|
||||
sudo docker run -d \
|
||||
-v /var/lib/drone:/var/lib/drone \
|
||||
-e DRONE_GITHUB_CLIENT=c0aaff74c060ff4a950d \
|
||||
-e DRONE_GITHUB_SECRET=1ac1eae5ff1b490892f5546f837f306265032412 \
|
||||
-p 80:80 --name=drone drone/drone
|
||||
```
|
||||
|
||||
### Persistence
|
||||
|
||||
When running Drone inside Docker we recommend mounting a volume for your sqlite database. This ensures the database is not lost if the container is accidentally stopped and removed. Below is an example that mounts `/var/lib/drone` on your host machine:
|
||||
|
||||
```bash
|
||||
sudo docker run \
|
||||
-v /var/lib/drone:/var/lib/drone \
|
||||
--name=drone drone/drone
|
||||
```
|
||||
|
||||
### Configuration
|
||||
|
||||
When running Drone inside Docker we recommend using environment variables to configure the system. All configuration attributes in the `drone.toml` may also be provided as environment variables. Below demonstrates how to configure GitHub from environment variables:
|
||||
|
||||
```bash
|
||||
sudo docker run \
|
||||
-e DRONE_GITHUB_CLIENT=c0aaff74c060ff4a950d \
|
||||
-e DRONE_GITHUB_SECRET=1ac1eae5ff1b490892f5546f837f306265032412 \
|
||||
--name=drone drone/drone
|
||||
```
|
||||
|
|
|
@ -1 +1,46 @@
|
|||
install-source.md
|
||||
This document provides a brief overview of Drone's build process, so that you can build and run Drone directly from source. For more detail, please see the `.drone.yml` and `Makefile`.
|
||||
|
||||
### Requirements
|
||||
|
||||
* Make
|
||||
* Go 1.4+
|
||||
* Libsqlite3
|
||||
|
||||
### Build and Test
|
||||
|
||||
We use `make` to build and package Drone. You can execute the following commands to build compile Drone locally:
|
||||
|
||||
```bash
|
||||
make deps
|
||||
make
|
||||
make test
|
||||
```
|
||||
|
||||
The `all` directive compiles binary files to the `bin/` directory and embeds all static content (ie html, javascript, css files) directly into the binary for simplified distribution.
|
||||
|
||||
The `test` directive runs the `go vet` tool for simple linting and executes the suite of unit tests.
|
||||
|
||||
**NOTE** if you experience slow compile times you can `go install` the `go-sqlite3` library from the vendored dependencies. This will prevent Drone from re-compiling on every build:
|
||||
|
||||
```bash
|
||||
go install github.com/drone/drone/Godeps/_workspace/src/github.com/mattn/go-sqlite3
|
||||
```
|
||||
|
||||
### Run
|
||||
|
||||
To run Drone you can invoke `make run`. This will start Drone with the `--debug` flag which instructs Drone to server static content from disk. This is helpful if you are doing local development and editing the static JavaScript or CSS files.
|
||||
|
||||
|
||||
### Distribute
|
||||
|
||||
To generate a debian package:
|
||||
|
||||
```bash
|
||||
make dist
|
||||
```
|
||||
|
||||
To generate a Docker container:
|
||||
|
||||
```bash
|
||||
docker build --rm=true -t drone/drone .
|
||||
```
|
|
@ -1 +1,39 @@
|
|||
install.md
|
||||
These are the instructions for running Drone on Ubuntu . We recommend using Ubuntu 14.04, the latest stable distribution. We also highly recommend using AUFS as the default file system driver for Docker.
|
||||
|
||||
### System Requirements
|
||||
|
||||
The default Drone installation uses a SQLite3 database for persistence. Please ensure you have `libsqlite3-dev` installed:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install libsqlite3-dev
|
||||
```
|
||||
|
||||
The default Drone installation also assumes Docker is installed locally on the host machine. To install Docker on Ubuntu:
|
||||
|
||||
```bash
|
||||
wget -qO- https://get.docker.com/ | sh
|
||||
```
|
||||
|
||||
### Installation
|
||||
|
||||
Once the environment is prepared you can install Drone from a debian file. Drone will automatically start on port 80. Edit /etc/drone/drone.toml to modify the port.
|
||||
|
||||
```bash
|
||||
wget downloads.drone.io/master/drone.deb
|
||||
sudo dpkg --install drone.deb
|
||||
```
|
||||
|
||||
### Start & Stop
|
||||
|
||||
The Drone service is managed by upstart and can be started, stopped or restarted using the following commands:
|
||||
|
||||
```bash
|
||||
sudo start drone
|
||||
sudo stop drone
|
||||
sudo restart drone
|
||||
```
|
||||
|
||||
### Logging
|
||||
|
||||
The Drone service logs are written to `/var/log/upstart/drone.log`.
|
|
@ -1 +1,21 @@
|
|||
setup-nginx.md
|
||||
Using a proxy server is not really necessary. Drone serves most static content from a CDN and uses the Go standard library’s high-performance net/http package to serve dynamic content. If using Nginx to proxy traffic to Drone you may use the following configuration:
|
||||
|
||||
```nginx
|
||||
location / {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Origin "";
|
||||
|
||||
proxy_pass http://127.0.0.1:8000;
|
||||
proxy_redirect off;
|
||||
}
|
||||
```
|
||||
|
||||
You may also want to change Drone’s default port when proxying traffic. You can change the port in the `/etc/drone/drone.toml` configuration file:
|
||||
|
||||
```toml
|
||||
[server]
|
||||
addr = ":8000"
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue