Hey guys,
Looking to write a plugin and working to get the dev env setup. From what i can tell forklift is the way to go.
I was able to get that up and running on the 1.17 stable build but the documentation stops there. I’ve monkeyed with it a little and figured I should probably ask for some direction before I head off in the wrong direction.
Can someone give me some high level steps for using that for plugin dev?
Thanks
Justin
x9c4
July 17, 2018, 7:42am
2
Plugin development works best (as far as i know) if you spin up the foremen development box in forklift. It is called centos7-devel
.
# Development Environments
This covers how to setup and configure a development environment using the Forklift tool suite.
* [Development Environment Deployment](#development-environment-deployment)
* [Use Koji Scratch Builds](#koji-scratch-builds)
* [Test Puppet Module Pull Requests](#test-puppet-module-pull-requests)
* [Jenkins Job Builder](#jenkins-job-builder-development)
* [Redmine Development](#redmine-development)
* [Hammer Development](#hammer-development)
* [Capsule Development](#capsule-development)
* [Client Development](#client-development)
* [Webpack](#webpack)
* [Dynflow](#dynflow-development)
## Development Environment Deployment
A Katello development environment can be deployed on CentOS 6 or 7. Ensure that you have followed the steps to setup Vagrant and the libvirt plugin. There are a variety of useful development environment options that should or can be set when creating a development box. These options are designed to configure your environment ready to use your own fork, and create pull requests. To create a development box:
1. Copy `boxes.d/99-local.yaml.example` to `boxes.d/99-local.yaml`. If you already have a `99-local.yaml`, you can copy the entries in `99-local.yaml.example` to your `99-local.yaml`.
This file has been truncated. show original
To be able to hack on your plugin comfortably i suggest to mount the plugin dir via NFS into the box with a stanza like
synced_folders:
- mount_point: '/home/vagrant/your_plugin'
path: <%= "#{ENV['HOME']}/projects/your_plugin" %>
options:
type: 'nfs'
nfs_udp: false
nfs_version: 4
and activate it in foreman/bundler.d/your_plugin.local.rb
.