Updated readme

This commit is contained in:
Tim Shannon 2016-03-29 16:56:54 +00:00
parent b933e35a25
commit 408451bcda

View File

@ -1,3 +1,39 @@
# ironsmith
Ironsmith is a simple continuous integration (build - > test -> release) tool.
Ironsmith is a simple continuous integration (build - > test -> release) tool.
## How it works
You'll setup a project which will need the following information:
1. Script to pull from the repository
* Most of the time this will be a git clone call, but it can be a bash script calling an FTP or whatever
* Choose between polling for changes, or triggered builds
* Triggered builds will be triggered off of a web hook POST call
2. Script to build the repository
* Can have multiple scripts run in sequence
3. Script to test the repository
* Can have multiple scripts run in sequence
4. Script to build the release file
* Should create one file
5. Path to the release file
6. Script to set release name / version
* If script doesn't return a unique name, ironsmith will append a timestamp
Projects will be defined in a project.json file for now. I may add a web interface later.
Ironsmith will take the information for the defined project above and do the following
1. Create a directory for the project
2. Change to that directory
2. Create a bolt DB file for the project to keep a log of all the builds
3. Run an initial pull of the repository using the pull script
4. If pull succeeds, Run the Build Scripts
5. If build succeeds, run the test scripts
6. If test succeeds, run the release scripts
7. Load the release file into project release folder with the release name
8. Insert the release information and the complete log into the Bolt DB file
This tool will (originally at least) have no authentication. I plan on adding it later.