...
Tool Name | URL | Description |
Git | https://git-scm.com/ | Distributed source control system. |
Sonar | https://sonar.openecomp.org/ | OpenECOMP Sonar server, will hold Sonar metrics computed by each component builds |
Nexus 3 | https://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 2 | https://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. |
JIRA | https://jira.openecomp.org/ | OpenECOMP JIRA instance, used to track issues, releases, stories... |
Jenkins Master | https://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 portal | https://identity.linuxfoundation.org/ | registering portal : controls user account and group management. |
Gerrit server | https://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). |
Confluence | https://wiki.openecomp.org | OpenECOMP 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
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
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) :
...