Start Here » History » Version 4
Luke Murphey, 03/05/2017 06:15 AM
| 1 | 1 | Luke Murphey | h1. Start Here |
|---|---|---|---|
| 2 | 2 | Luke Murphey | |
| 3 | 2 | Luke Murphey | h2. Why should I use this build script? |
| 4 | 2 | Luke Murphey | |
| 5 | 2 | Luke Murphey | This build script will make developing and deploying Splunk apps easier by: |
| 6 | 2 | Luke Murphey | |
| 7 | 2 | Luke Murphey | * *Creating installable Splunk packages* (from a directory with the source code) |
| 8 | 2 | Luke Murphey | * *Providing a simple method to deploy the changes to an app to a Splunk instance in seconds*; this is useful during development since it will tell the Splunk instance to refresh so that your new content can be tested in real-time |
| 9 | 2 | Luke Murphey | * *Providing mechanisms for deploying Splunk apps to a production box*. This allows you to install the app remotely and restart the Splunk install accordingly using a Continuous Deployment system. |
| 10 | 2 | Luke Murphey | * *Improving the performance of apps* with Javascript views by minifying the CSS and JS files |
| 11 | 2 | Luke Murphey | |
| 12 | 2 | Luke Murphey | h2. Requirements |
| 13 | 2 | Luke Murphey | |
| 14 | 2 | Luke Murphey | This build script is based around git (e.g. Github, Gitlab, Atlassian Bitbucket). Thus, you will need to customize it if you want to use another type of source code repository. |
| 15 | 2 | Luke Murphey | |
| 16 | 2 | Luke Murphey | h2. How do I use it? |
| 17 | 2 | Luke Murphey | |
| 18 | 2 | Luke Murphey | h3. Install Java and Ant |
| 19 | 2 | Luke Murphey | |
| 20 | 2 | Luke Murphey | Install Java if you don't have it installed. There is a good chance you already have it so you may want to check. |
| 21 | 2 | Luke Murphey | |
| 22 | 2 | Luke Murphey | Next, install Ant |
| 23 | 2 | Luke Murphey | |
| 24 | 2 | Luke Murphey | h3. Download the build script |
| 25 | 2 | Luke Murphey | |
| 26 | 3 | Luke Murphey | Download the file at https://gist.github.com/LukeMurphey/8fd02337805ae8762afb. Place the resulting file in the source-code repository (at the root of the directory). |
| 27 | 3 | Luke Murphey | |
| 28 | 2 | Luke Murphey | h3. Create a project |
| 29 | 2 | Luke Murphey | |
| 30 | 3 | Luke Murphey | Now, initialize the project but running the following from your source-code directory: |
| 31 | 3 | Luke Murphey | |
| 32 | 3 | Luke Murphey | <pre> |
| 33 | 3 | Luke Murphey | ant -f basebuild.xml |
| 34 | 3 | Luke Murphey | </pre> |
| 35 | 3 | Luke Murphey | |
| 36 | 3 | Luke Murphey | This will run through a short wizard to initialize your project. The script will prompt you for a name for your project. The name should be the folder name of the app (like "website_monitoring"), not the human readable name (which would be something like "Website Monitoring"). |
| 37 | 3 | Luke Murphey | |
| 38 | 3 | Luke Murphey | Once it is done, it will create a series of files for you. |
| 39 | 3 | Luke Murphey | |
| 40 | 3 | Luke Murphey | Run the following command to test the building of your app: |
| 41 | 3 | Luke Murphey | |
| 42 | 3 | Luke Murphey | <pre> |
| 43 | 3 | Luke Murphey | ant |
| 44 | 3 | Luke Murphey | </pre> |
| 45 | 3 | Luke Murphey | |
| 46 | 3 | Luke Murphey | You should see something noting that your app package was created. |
| 47 | 3 | Luke Murphey | |
| 48 | 2 | Luke Murphey | h3. Put in your source code, build your app |
| 49 | 1 | Luke Murphey | |
| 50 | 3 | Luke Murphey | Now, make or place your source-code for app in the src/ directory. The code in here should correspond to the contents within your app folder. Thus, your source-code directories will eventually have a structure something like this: |
| 51 | 3 | Luke Murphey | |
| 52 | 3 | Luke Murphey | * *lib/* (this is where build depencies will go, they will be downloaded automatically for you) |
| 53 | 3 | Luke Murphey | * *src/* (this is where you app code will go) |
| 54 | 3 | Luke Murphey | ** *default/* (where conf files will go) |
| 55 | 3 | Luke Murphey | ** *appserver/* (where static web resources go) |
| 56 | 3 | Luke Murphey | ** *lookups/* (where lookup files go) |
| 57 | 4 | Luke Murphey | * *basebuild.xml* (contains the main targets you need for building your app that will be used by build.xml) |
| 58 | 4 | Luke Murphey | * *build.xml* (the main build script; place overrides of the build script in this file) |
| 59 | 3 | Luke Murphey | * *default.properties* (where properties go that need to be included in the source-code repository) |
| 60 | 3 | Luke Murphey | * *local.properties* (where properties go that should _not_ be included in the source-code repository) |
| 61 | 3 | Luke Murphey | |
| 62 | 3 | Luke Murphey | h3. Configure the build script to install Splunk apps |
| 63 | 3 | Luke Murphey | |
| 64 | 2 | Luke Murphey | |
| 65 | 2 | Luke Murphey | h2. Contents |
| 66 | 2 | Luke Murphey | |
| 67 | 2 | Luke Murphey | {{child_pages}} |