Skip to end of banner
Go to start of banner

Continuous Integration

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Initial: internal jenkins server at novatec

In the beginning at least some jobs will stay on NovaTec internal Jenkins server, currently this is:

  • inspectIT integration job
  • inspectIT release job
  • weekly loadtest job

With Atlassian providing us with an Open Source no cost Cloudversion of a Bamboo master server, we use this technology for continuous integration tasks. The build nodes are Amazon EC2 instances, sponsored by NovaTec GmbH (see /wiki/spaces/IN/pages/1867778).

Current jobs on Bamboo

 

Meaningful usage of EC2 in Bamboo

  1. We automatically shutdown EC2 instances in Bamboo after the builds are run (you can also shut the instances down manually)
  2. We configure to use spot instances whenever possible for building things. 

This said, if we see that we need more power or cannot wait for spot instances, it is absolutely fine to change the configuration.

 

Just a few notes:

  • https://confluence.atlassian.com/display/BAMBOO/Using+plan+branches 
    • Using automatic merging

      • Gatekeeper: This could be used on an integration job to merge changes to the stable if the job succeeds
    • Use automatic branches
      • Bamboo can automatically create plans and run them for feature branches. 
      • These feature branches - if named correctly - can automatically be correlated with the JIRA ticket and the result of the build will automatically be shown in the ticket itself
      • This is a great option for developers to automatically and directly see if their changes work
      • This is also great for integration managers. We can have this before an integration even gets to the integration manager. (<-- we should think on how this can be achieved). Basically I think this can be done by auto-branches and auto-merging against master. The developer then manually starts the job to merge to master and this will only work if the job runs through and only then will he request the integration officially, which will then be manually checked by an integration manager and automatically be pushed via another job to stable.

 

  • No labels