Skip to content

Shared CI build and release scripts for several talsma-ict projects

License

Notifications You must be signed in to change notification settings

talsma-ict/ci-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Continuous integration scripts for multiple projects

CI build and release scripts for several talsma-ict projects.
This module is intended to be used as a git submodule.

CI build process

Git branches

Our build and release scripts are inspired by the git-flow branching model as described by Vincent Driessen in 2010.

Continuous integration builds

This means SNAPSHOT builds can be created from the develop branch while releases should be for semver 2.0 compatible versions, tagged as such on the master branch.

Our build and release scripts allow developers to focus mainly on the develop and other feature branches and should only rarely -if ever- need to meddle with the master branch.

Performing a release

To perform a release, a developer just needs to push the corresponding code from develop to a new release/x.y.z branch on origin. When picked up by the CI system, this results in a new version x.y.z being released, tagged and deployed on master. Furthermore, the develop branch will be set to the next snapshot version (e.g. x.y.(z+1)-SNAPSHOT). If all succeeds, the release/x.y.z branch will be automatically deleted as well.

Git submodules

Understanding git submodules

First, read the official git documentation on submodules if you haven't done so already.
Another good read is the working with submodules github blog post.

Replacing existing directory by a submodule

(Only if you have an existing directory to replace) First remove the existing directory from your repository

git rm -r .travis
git commit -m "Remove .travis directory (preparing for submodule)"

For the scripts to continue to work (which involves some branch-switching), it's best to do this on the master branch and merge the change to develop from there or cherry-pick the commits if you like.

Adding the submodule to a git project

If you want to add the ci-scripts to your project into the .travis directory (for building with travis) you can add them to your git repository:

git submodule add https://github.com/talsma-ict/ci-scripts.git .travis
git submodule update --init --recursive
git commit -am "Add ci-scripts repository as .travis submodule"

Cloning a project with submodules

Just use the --recursive option with your git clone command:

git clone --recursive <project url>

License

Just like our main repositories, the CI scripts are published under the Apache 2.0 license

Releases

No releases published

Packages

No packages published

Languages