Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tool NameURLDescription
Githttps://git-scm.com/Distributed source control system.
Sonarhttps://sonar.openecomp.org/OpenECOMP Sonar server, will hold Sonar metrics computed by each component builds
Nexus 3https://nexus3.openecomp.org/OpenECOMP Nexus 3 repository, this repo will hold Docker containers produced by OpenECOMP builds. Access is automatically provided to builds by the maven settings on the Jenkins Master, see Jenkins job for more details. User should be able to access and browse artifacts through this URL.
Nexus 2https://nexus.openecomp.org/OpenECOMP Nexus 2 repository, this repo will hold Maven2 artifacts produced by builds (both Release and Snapshot, also Javadoc-mavensite), Access is automatically provided to builds by the maven settings on the Jenkins Master, see Jenkins job for more details. User should be able to access and browse artifacts through this URL.
JIRAhttps://jira.openecomp.org/OpenECOMP JIRA instance, used to track issues, releases, stories...
Jenkins Masterhttps://jenkins.openecomp.org/

OpenECOMP Jenkins Master host, this host will only serve as a 'Display' as most of the Jobs will be executed by 'minions' (slave hosts.

which are defined by using the jenkins configuration repository in Gerrit.

Identity portalhttps://identity.linuxfoundation.org/registering portal : controls user account and group management.
Gerrit serverhttps://gerrit.openecomp.org/

Gerrit code review server, hosting the OpenECOMP git repositories as well as controlling access, push, review of new code

Also host the jenkins job configuration in a git repository that is following the same workflow (see Gerrit Workflow below).

Confluencehttps://wiki.openecomp.orgOpenECOMP Development Wiki, used to provide project documentation, guidelines, and other information.

Pushing changes for review using command line

Now lets add some files and add our first commit with the associated message

git add somefiles
git commit -m "My first Awesome commit" 

Note that this is just an example and the commit message should be much more explicit than that

Now that everything is ready, you can sign off your commit, make sure that your git user matches your Linux Foundation identity, as this will be verified by the gerrit server

git review -s

You may be prompted for your Linux Foundation account password

Now let's verify the commit hook work, this will show you the commit message and the sign off entry

git commit -as --amend 

You can automatically add the signature for all your commits by setting the git configuration : git config --global format.signoff true

Eventually, we can push the change to the gerrit server

git review

The code should now appear in the gerrit web interface, it needs a committer to approve it with a +2 and also move the verifed flag to +1, to do so, the committer can open the gerrit UI and click on the open review list

Image Removed

Then click on the Reply button, you can also add reviewers for their inputs, add a review comment, and move the flags to +2 and +1

Image Removed

Once a committer approves it, the code can be merged to the master branch

If issues are found, both contributors and committers can amend the review (use the top-left download link on the review screen to get the direct clone commands that would download the reviewed code in a local repository)

Similarly to the above steps, do the needed modifications, and push the changes (again after signing them) using git review

Note that you can also work on local branch, gerrit will automatically use your local branch name as a Topic for the review, allowing you to share branches between team members

More details on how to use gerrit : https://gerrit.openecomp.org/r/Documentation/index.html

IDE Setup

The best is to add a plugin to your preferred IDE so that you can easily interact with Gerrit (without having the need to go to the website) :

...