woodpecker/web
2019-11-12 14:27:39 +01:00
..
dist Pull in frontend 2019-11-12 14:27:39 +01:00
src Pull in frontend 2019-11-12 14:27:39 +01:00
vendor/drone-js Pull in frontend 2019-11-12 14:27:39 +01:00
.babelrc Pull in frontend 2019-11-12 14:27:39 +01:00
.drone.yml Pull in frontend 2019-11-12 14:27:39 +01:00
.eslintrc.js Pull in frontend 2019-11-12 14:27:39 +01:00
.lesshintrc Pull in frontend 2019-11-12 14:27:39 +01:00
LICENSE Pull in frontend 2019-11-12 14:27:39 +01:00
package-lock.json Pull in frontend 2019-11-12 14:27:39 +01:00
package.json Pull in frontend 2019-11-12 14:27:39 +01:00
README.md Pull in frontend 2019-11-12 14:27:39 +01:00
webpack.config.js Pull in frontend 2019-11-12 14:27:39 +01:00
yarn.lock Pull in frontend 2019-11-12 14:27:39 +01:00

This project contains the source code for the drone user interface. The generated javascript and css assets are embedded into a Go source file which is imported into the main drone application, using go get.

Building

To compile the source and create minified css and javascript assets:

yarn install    # install project dependencies

yarn run format # formats the codebase
yarn run lint   # lints the codebase
yarn run test   # tests the codebase
yarn run build  # builds the production bundle

Running

To run a devserver with watching, hotreloading and proxy to drone server:

export DRONE_SERVER=<drone server>
export DRONE_TOKEN=<drone api token>

yarn run start

For example:

export DRONE_SERVER=http://your.drone.server
export DRONE_TOKEN=eyJhbGciOiJIUzI1NiIsIn...

yarn run start

Note you will need to retrieve your drone user token from the tokens screen in the drone user interface. When the server is running you can open the following url in your browser:

http://localhost:9999

Releases

To bundle and embed the code in a Go source file install the following command line utility:

go get github.com/bradrydzewski/togo

To generate the Go source file run the following command:

go generate ./...
go install ./...

Note that for security reasons we will not accept a pull request that updates embedded Go asset file since we are not able to easily review the embedded, minified code. This file is instead automatically generated by our build server to prevent tampering.