Hello Fellas !
compiling computer source code into binary code
packaging binary code
running automated tests
deploying to production systems
creating documentation and/or release notes
Various types of automation are as:
- On-Demand automation such as a user running a script at the command line
- Scheduled automation such as a continuous integration server running a nightly build
- Triggered automation such as a continuous integration server running a build on every commit to a version control system.
Improvement of product quality
Acceleration of compile and link processing
Elimination of redundant tasks
Minimization of ‘bad builds’
Have history of builds and releases in order to investigate issues
Save time and money – because of above listed reasons.
A build system should fulfill certain requirements.
- Frequent or overnight builds to catch problems early.
- Support for Source Code Dependency Management
- Incremental build processing
- Reporting that traces source to binary matching
- Build acceleration
- Extraction and reporting on build compile and link usage
- Generate release notes and other documentation such as help pages
- Build status reporting
- Test pass or fail reporting
- Summary of the features added/modified/deleted with each new build
5. On clicking the ‘Join‘ button, a message stating: “Request to join the project ‘pharo-contribution’ sent.” appears.
6. It might take a day or two for the request approval mail to deliver at your registered Email ID.
The E-Mail content is as follows:
Your request to join pharo-contribution has been accepted
Hi _ _ _,
Your request to join the project pharo-contribution has been accepted !
7. Click on ‘My Account‘ option and under ‘My Projects‘ check the status of pharo-contribution project. It should state ‘member‘.
8. Now, visit the LINK: https://ci.inria.fr/pharo-contribution/job/JobTemplate/ to create a ‘New Job‘
10. Enter the ‘Project Name‘ in the ‘Item Name: ‘ box and choose ‘Copy from existing item‘ option and fill ‘JobTemplate‘
12. Fill in the description of the project in the desired box.
* Maximum number of builds
* Link to GitHub Project
* Source Code Manager
* Build Triggers
* Schedule of build (@hourly, @daily, @weekly, @fortnightly, @monthly, @yearly etc.)
* Configuration Matrix (User Defined Axis: Name && Version Values- stable, development etc.)
* Build environment options
* Post-build actions
* Report regressed tests
14. The main task is to carefully write the commands in the ‘Execute Shell‘
The default commands are as:
16. Each build’s ‘Console Output‘ can be used to analyse the steps and highlight the weak areas of the project.
For instance: The below output is of a project whose stable version build was successful.
TIP: Keep a regular tab on the build results and analyze each line of the Console Output with utmost care.
Hope this post was able to help you start with the automation build process of Pharo Application.
Do like if it was worth a read !
Post queries/suggestions as comments 🙂 Looking forward to them.
UPCOMING: Next, I plan to share experience of putting up my Pharo application searchQuick on CI Inria for automated build. I intend to detail about the various configuration settings applied along with the Execute Shell commands utilized for a GitHub project 🙂