Skip to content
Examples and sample code of working with InfraBox, a continuous integration system
Dockerfile Shell C++ Python JavaScript CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
badges
build_and_use_image
build_arguments change links to point to new SAP repos Apr 15, 2018
caching
cpp_example
dependencies
deploy
deploy_gcr
docker_compose
dynamic_workflows add example for dynamic workflows Feb 11, 2018
environment_vars
git_info
git_workflows
hello_world
infrabox_yaml add infrabox.yaml example Sep 3, 2018
secrets
service_gardener Add example for gardener service Oct 19, 2018
service_gke Update infrabox.json Jun 3, 2018
service_namespace Add service examples May 20, 2018
slack
timeout add example code Jan 3, 2018
transfer_data change links to point to new SAP repos Apr 15, 2018
upload_testresult change links to point to new SAP repos Apr 15, 2018
workflows
.dockerignore
.gitignore add more examples Jan 7, 2018
LICENSE
NOTICE
README.md
infrabox.json

README.md

InfraBox Examples

This repo contains examples for InfraBox, a continuous integration system.

Requirements

To be able to run the examples locally you should install infraboxcli. See How to install infraboxcli for instructions.

Run examples

To run jobs locally cd into a directory which contains a infrabox.json file. Now simply run

infrabox run

This 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

Examples

  1. Hello World: Run you first hello world job on InfraBox
  2. A simple C++ project: Compile and test a simple C++ program
  3. Upload your testresult: If you run tests in your job you can get the results visualized by InfraBox
  4. Create custom badges: An easy way of creating for your jobs
  5. Docker build arguments: Set Docker build arguments for your jobs
  6. Caching: Cache data between runs to speed up your builds
  7. Timeouts: Set timeouts for your jobs
  8. Environment Variables: Set environment vars for your jobs
  9. Secrets: How to handle passwords and other sensitive data
  10. Push Images
  11. Job Dependencies: Run multiple jobs with dependencies
  12. Transfer data: Transfer data between your jobs
  13. Docker Compose: Use docker compose in your job to run multiple containers
  14. Workflows: Split up your job graph into multiple workflows
  15. GIT Workflows: Included external workflows into your build
  16. Services
  17. Dynamic Workflows: Modify your job graph at runtime for full flexibility
  18. Build and use Image: In the same build
  19. Access git information: Access the cloned git repository

External Service Integrations

  1. Slack: Report your build status

See also Job Definitions for documentation about using all the different job types.

How to get support

If you need help please post your questions to Stack Overflow. In case you found a bug please open a Github Issue. Follow us on Twitter: @Infra_Box or have look at our Slack channel infrabox.slack.com.

Best practice

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.

License

Copyright (c) 2018 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

You can’t perform that action at this time.