Skip to content

Latest commit

 

History

History
94 lines (71 loc) · 3.54 KB

DEVELOPMENT.md

File metadata and controls

94 lines (71 loc) · 3.54 KB

Development

See the kibana contributing guide for instructions setting up your development environment. Once you have completed that, use the following commands.

Scripts

yarn kbn bootstrap
Execute this to install `node_modules` and setup the dependencies in your plugin and in Kibana.
yarn start
Execute this to start the development version of Kibana to work on your plugin.

Build and release Process

This is the process for producing a release for a new minor version that doesn't include any necessary changes due to changing Kibana APIs.

# Move to the directory of your Kibana git checkout
cd ~/dev/kibana-7.x-git/kibana

# Fetch the latest releases
git fetch --all --tags

# Check out the release in Kibana
git checkout v7.17.0

# Switch to updated node-js if necessary
nvm use

# Run Kibana's bootstrap
yarn kbn bootstrap

# Create a temporary boilerplate plugin to check dependency updates for plugins
node scripts/generate_plugin plugin_tmp

# Once the plugin was created, you need to compare the two following files and if necessary update the dependencies in your `package.json`
# plugins/kibana_milestones_vis/package.json
# plugins/plugin_tmp/package.json

# After checking/updating `package.json`, run bootstrap inside your plugin's directory
cd plugins/kibana_milestones_vis
yarn kbn bootstrap

# Update all files containing the previous version name to the new name
# kibana-extra/kibana-milestones-vis/package.json
# kibana-extra/kibana-milestones-vis/DEVELOPMENT.md
# kibana-extra/kibana-milestones-vis/README.md
# Do not commit the changes yet, we need to test the release first!

# Create the distribution build file
yarn build

# Next, download, install and run the corresponding Elasticsearch
mkdir ~/dev/elasticsearch-7.17.0-release
cd ~/dev/elasticsearch-7.17.0-release
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-darwin-x86_64.tar.gz
gunzip -c elasticsearch-7.17.0-darwin-x86_64.tar.gz | tar xopf -
cd elasticsearch-7.17.0
./bin/elasticsearch

# Next, in another terminal tab, download and install the corresponding Kibana release to test the build
mkdir ~/dev/kibana-7.17.0-release
cd ~/dev/kibana-7.17.0-release/
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.17.0-darwin-x86_64.tar.gz
gunzip -c kibana-7.17.0-darwin-x86_64.tar.gz | tar xopf -
cd kibana-7.17.0-darwin-x86_64

# Install the built plugin
./bin/kibana-plugin install 'file:///<your-path>/kibana-7.x-git/kibana/plugins/kibana_milestones_vis/build/kibanaMilestonesVis-7.17.0.zip'

# Start Kibana and test the UI if the plugin works.
# Use Kibana's `flights` sample dataset and create a milestones visualization.
./bin/kibana

# If everything works, finally the time has come to create the release on Github.
cd ~/dev/kibana-7.x-git/kibana/plugins/kibana_milestones_vis
git add DEVELOPMENT.md
git add README.md
git add package.json
git commit -m "Bump version to 7.17.0."
git tag v7.17.0
git push origin 7.17
git push --tags

# On Github, edit the new release at
# https://github.com/walterra/kibana-milestones-vis/releases/new?tag=v7.17.0
# Use `Kibana v7.17.0 compatibility release.` as the release text.
# Add the build file `kibanaMilestonesVis-7.17.0.zip` to the releases' binaries.

# Almost done! Before the next release, a little cleanup: Just delete the temporary plugin you create so you can create another one for comparison for the next release.
rm -r ~/dev/kibana-7.x-git/kibana/plugins/plugin_tmp