To be able to run the examples locally you should install infraboxcli. See How to install infraboxcli for instructions.
To run jobs locally cd into a directory which contains a infrabox.json file. Now simply run
$ infrabox runThis will now run all the jobs defined in infrabox.json. If you want to run only a single job use:
$ infrabox run <job-name>For more details on how to run jobs see the infraboxcli documentation
Instead of running the examples on your local machine you may also use the InfraBox playground at https://infrabox.ninja. You can use it for free with up to 1 CPU and 1024MB per job.
Quickstart Guides:
- Hello World: Run you first hello world job on InfraBox
- A simple C++ project: Compile and test a simple C++ program
- Upload your testresult: If you run tests in your job you can get the results visualized by InfraBox
- Create custom badges: An easy way of creating
for your jobs
- Docker build arguments: Set Docker build arguments for your jobs
- Caching: Cache data between runs to speed up your builds
- Timeouts: Set timeouts for your jobs
- Environment Variables: Set environment vars for your jobs
- Secrets: How to handle passwords and other sensitive data
- Deploy: Deploy your docker containers to a registry
- Job Dependencies: Run multiple jobs with dependencies
- Transfer data: Transfer data between your jobs
- Docker Compose: Use docker compose in your job to run multiple containers
- Workflows: Split up your job graph into multiple workflows
- GIT Workflows: Included external workflows into your build
- Kubernetes Support: Use the built-in kubernetes support for your e2e testing
- Dynamic Workflows: Modify your job graph at runtime for full flexibility
- Slack: Report your build status
See also Job Definitions for documentation about using all the different job types.
Please have a look at the Docker Best Practice Guide. It contains several useful tips on how to write good Dockerfiles.
In general it's a good idea to keep your containers small. So only install the libraries and components to really need. If possible use alpine images, because they are much smaller then the ubuntu images. This saves you time, because less data has to be downloaded for every job.