mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-30 05:41:12 +00:00
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 -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
|
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:
|
clean:
|
||||||
find . -name "*.out" -delete
|
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