improved deploy docs for multi-deploy
This commit is contained in:
parent
9d9a068db8
commit
183fce0535
5 changed files with 27 additions and 64 deletions
23
README.md
23
README.md
|
@ -1,11 +1,20 @@
|
||||||
Highly experimental branch that implements the following features:
|
# Drone
|
||||||
|
|
||||||
* Pluggable database backends
|
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.
|
||||||
* Pluggable queue
|
|
||||||
* Matrix builds
|
## Documentation
|
||||||
* Build plugins
|
|
||||||
* New Yaml syntax
|
Drone documentation is organized into several categories:
|
||||||
* and more ...
|
|
||||||
|
* [Setup Guide](http://readme.drone.io/docs/setup/)
|
||||||
|
* [Build Guide](http://readme.drone.io/docs/build/)
|
||||||
|
* [API Reference](http://readme.drone.io/docs/api/)
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
Contributions, questions, and comments are all welcomed and encouraged! Drone developers hang out in the [drone/drone](https://gitter.im/drone/drone) room on [gitter](https://gitter.im/drone/drone).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
Running Drone:
|
Running Drone:
|
||||||
|
|
||||||
|
|
13
doc/build/build.md
vendored
13
doc/build/build.md
vendored
|
@ -45,19 +45,6 @@ image: library/golang:1.4
|
||||||
image: index.docker.io/library/golang:1.4
|
image: index.docker.io/library/golang:1.4
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build environment
|
|
||||||
|
|
||||||
The build environment has access to the following environment variables:
|
|
||||||
|
|
||||||
* `CI=true`
|
|
||||||
* `DRONE=true`
|
|
||||||
* `DRONE_REPO` - repository name for the current build
|
|
||||||
* `DRONE_BUILD` - build number for the current build
|
|
||||||
* `DRONE_BRANCH` - branch name for the current build
|
|
||||||
* `DRONE_COMMIT` - git sha for the current build
|
|
||||||
* `DRONE_DIR` - working directory for the current build
|
|
||||||
|
|
||||||
|
|
||||||
## Skipping builds
|
## Skipping builds
|
||||||
|
|
||||||
Skip a build by including the text `[CI SKIP]` in your commit message.
|
Skip a build by including the text `[CI SKIP]` in your commit message.
|
||||||
|
|
4
doc/build/clone.md
vendored
4
doc/build/clone.md
vendored
|
@ -31,11 +31,11 @@ git clone --depth=50 --recusive=true \
|
||||||
|
|
||||||
Cloning a private repository requires authentication to the remote system. Drone prefers `git+https` and `netrc` to authenticate, but will fallback to `git+ssh` and deploy keys if not supported.
|
Cloning a private repository requires authentication to the remote system. Drone prefers `git+https` and `netrc` to authenticate, but will fallback to `git+ssh` and deploy keys if not supported.
|
||||||
|
|
||||||
Drone prefers `git+ssh` for authentication because it allows you to clone multiple private repositories. This is helpful when you have git submodules or third party dependencies you need to download (via `go get` or `npm install` or others) that are sourced from a private repository.
|
Drone prefers `git+https` for authentication because it allows you to clone multiple private repositories. This is helpful when you have git submodules or third party dependencies you need to download (via `go get` or `npm install` or others) that are sourced from a private repository.
|
||||||
|
|
||||||
Drone only injects the `netrc` and `id_rsa` files into your build environment if your repository is private, or running in private mode. We do this for security reasons to avoid leaking sensitive data.
|
Drone only injects the `netrc` and `id_rsa` files into your build environment if your repository is private, or running in private mode. We do this for security reasons to avoid leaking sensitive data.
|
||||||
|
|
||||||
## Clone Plugins
|
## Clone Plugin
|
||||||
|
|
||||||
You can override the default `git` plugin by specifying an alternative plugin image. An example use case may be integrating with alternate version control systems, such as mercurial:
|
You can override the default `git` plugin by specifying an alternative plugin image. An example use case may be integrating with alternate version control systems, such as mercurial:
|
||||||
|
|
||||||
|
|
49
doc/build/deploy.md
vendored
49
doc/build/deploy.md
vendored
|
@ -28,46 +28,7 @@ deploy:
|
||||||
branch: feature/*
|
branch: feature/*
|
||||||
```
|
```
|
||||||
|
|
||||||
<!--
|
Use a more verbose `.drone.yml` syntax to declare multiple `heroku` deployment steps:
|
||||||
## Deploy plugins
|
|
||||||
|
|
||||||
Deployment plugins are Docker images that attach to your build environment at runtime. They are declared in the `.drone.yml` using the following format:
|
|
||||||
|
|
||||||
```
|
|
||||||
deploy:
|
|
||||||
[step_name:]
|
|
||||||
[image:]
|
|
||||||
[options]
|
|
||||||
```
|
|
||||||
|
|
||||||
An example `heroku` plugin configuration:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
deploy:
|
|
||||||
heroku:
|
|
||||||
image: plugins/heroku
|
|
||||||
app: pied_piper
|
|
||||||
token: f10e2821bbbea5
|
|
||||||
```
|
|
||||||
|
|
||||||
The `image` attribute is optional. If the `image` is not specified Drone attempts to use the `step_name` as the `image` name. The below examples both produce identical output:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# this step specifies an image
|
|
||||||
|
|
||||||
heroku:
|
|
||||||
image: plubins/heroku
|
|
||||||
app: pied_piper
|
|
||||||
token: f10e2821bbbea5
|
|
||||||
|
|
||||||
# and this step infers the image from the step_name
|
|
||||||
|
|
||||||
heroku:
|
|
||||||
app: pied_piper
|
|
||||||
token: f10e2821bbbea5
|
|
||||||
```
|
|
||||||
|
|
||||||
The `image` attribute is useful when you need to invoke the same plugin multiple times. For example, we may want to deploy to multiple `heroku` environments depending on branch:
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# deploy master to our production heroku environment
|
# deploy master to our production heroku environment
|
||||||
|
@ -83,5 +44,11 @@ The `image` attribute is useful when you need to invoke the same plugin multiple
|
||||||
image: plugins/heroku
|
image: plugins/heroku
|
||||||
when:
|
when:
|
||||||
branch: stage
|
branch: stage
|
||||||
|
|
||||||
|
# this is the same as above, but uses a short-hand syntax
|
||||||
|
# and infers the `image` name
|
||||||
|
|
||||||
|
heroku:
|
||||||
|
when:
|
||||||
|
branch: stage
|
||||||
```
|
```
|
||||||
-->
|
|
||||||
|
|
2
doc/build/env.md
vendored
2
doc/build/env.md
vendored
|
@ -25,7 +25,7 @@ build:
|
||||||
- go build
|
- go build
|
||||||
- go test
|
- go test
|
||||||
|
|
||||||
publish:
|
deploy:
|
||||||
heroku:
|
heroku:
|
||||||
app: pied_piper
|
app: pied_piper
|
||||||
token: $$HEROKU_TOKEN
|
token: $$HEROKU_TOKEN
|
||||||
|
|
Loading…
Reference in a new issue