Versions Compared

Key

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

Figure 1 shows an overview of the tool chain for OpenECOMP development

Image Removed

Figure 1. Toolchain

Tools

The following table lists the tools :required for OpenECOMP development.

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.

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) :

Eclipse gerrit plugin setup

...

.

...

       Eclipse Mars & Neon natively supports pulling and pushing code to Gerrit type repositories, which means they will also have the sign off option available.

       When connecting to a gerrit repository, the gerrit icon will be shown in eclipse (git repository view) and new options will be available on right click

       2 plugins have support for review : Mylin Gerrit connector plugin and Egit, unfortunately they do not support a 2.12 gerrit server yet so the recommendation would be to do reviews using the gerrit web interface.

Note that users can still work locally, and push changes through the native support of Eclipse

Another option is to use IntelliJ :

<<TODO: IntelliJ gerrit plugin setup could be found HERE >>

Linux Foundation uses Gerrit to download and upload code into repository. Gerrit plugin could be downloaded and installed in IntelliJ, in order to work with the Linux Foundation code downloading/uploading procedure.

Download code

Click the project name in Linux Foundation Gerrit website. On top of the project, it provides you the command to clone the whole project. The project can be downloaded with 2 ways, via HTTP url or SSH url.

Download with HTTP URL

Click http under the Linux Foundation Project page, it will display the url to use to clone the project.

Image Removed

Then open your IntelliJ, click File -> Settings -> Version Control -> Gerrit, enter the URL for the Linux Foundation Gerrit website, your Linux Foundation username and password and click OK. To test whether the connection is good, you can also click the Test button before clicking OK.

Note: the URL is with https not with http.

Image Removed

Then open File -> New -> Project from Version Control -> Git to open Clone Repository window. Enter the http url you have found above, but with https not with http, chose your Parent Directory and Directory Name and click Clone to clone the project.

Image Removed

A window will pop up to input the user name and password. The user name shall be the username of your Linux Foundation account and the password is generated in the Linux Foundation website.

Image Removed

To generate the password, go to the Settings window, click on HTTP Password, input your username and click Generate Password.

Image Removed

Download with SSH URL

To download the project with ssh url, you need to add the ssh key into the Linux Foundation Gerrit website.

Click your account name on the top right corner of the website and click on Settings.

Image Removed

In the Settings window, select SSH Public Keys. Put your public key of your machine into the window and click Add.

Image Removed

The steps to create the SSH Key could be found in the following page: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Click ssh under the Linux Foundation Project page, it will display the url to use to clone the project.

Image Removed

Then open your IntelliJ, click File -> Settings -> Version Control -> Gerrit, enter the URL for the Linux Foundation Gerrit website, your Linux Foundation username and password and click OK. To test whether the connection is good, you can also click the Test button before clicking OK.

Image Removed

Then open File -> New -> Project from Version Control -> Git to open Clone Repository window. Enter the ssh url you have found above, chose your Parent Directory and Directory Name and click Clone to clone the project.

Image Removed

For the first downloading, a OpenSSH window will appear to authenticate the host. Enter yes in the command location and click OK to progress.

...