diff --git a/Jenkinsfile b/Jenkinsfile
index 24bed98f..c061d88c 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,19 +1,19 @@
pipeline {
- agent any
-
- stages {
+ agent any
+
+ stages {
stage('Setup npm') {
steps {
sh 'npm i'
}
}
- stage('Test') {
+ stage('Test') {
steps {
sh 'npm run lint';
sh 'npm run scss-lint';
}
}
- stage('Documentation') {
+ stage('Documentation') {
when {
branch 'master'
}
@@ -30,43 +30,68 @@ pipeline {
])
}
}
- stage('Build Docker image') {
- steps {
- echo 'Test styles and building docker image...'
- sh 'docker build --no-cache -f ./Dockerfile -t registry.sonata-nfv.eu:5000/tng-portal .'
- }
- }
- stage('Publishing') {
- steps {
- echo 'Publishing docker image....'
- sh 'docker push registry.sonata-nfv.eu:5000/tng-portal'
- }
- }
- stage('Deploying in pre-int') {
- steps {
- echo 'Deploying in pre-integration....'
- sh 'rm -rf tng-devops || true'
- sh 'git clone https://github.com/sonata-nfv/tng-devops.git'
- dir(path: 'tng-devops') {
- sh 'ansible-playbook roles/sp.yml -i environments -e "target=pre-int-sp component=portal"'
- sh 'ansible-playbook roles/vnv.yml -i environments -e "target=pre-int-vnv component=portal"'
- }
- }
- }
- stage('Deployment in Integration') {
- when {
- branch 'master'
- }
- steps {
- sh 'docker tag registry.sonata-nfv.eu:5000/tng-portal:latest registry.sonata-nfv.eu:5000/tng-portal:int'
- sh 'docker push registry.sonata-nfv.eu:5000/tng-portal:int'
- sh 'rm -rf tng-devops || true'
- sh 'git clone https://github.com/sonata-nfv/tng-devops.git'
- dir(path: 'tng-devops') {
- sh 'ansible-playbook roles/sp.yml -i environments -e "target=int-sp component=portal"'
+ stage('Build Docker image') {
+ steps {
+ echo 'Test styles and building docker image...'
+ sh 'docker build --no-cache -f ./Dockerfile -t registry.sonata-nfv.eu:5000/tng-portal .'
+ }
+ }
+ stage('Publishing') {
+ steps {
+ echo 'Publishing docker image....'
+ sh 'docker push registry.sonata-nfv.eu:5000/tng-portal'
+ }
+ }
+ stage('Deploying in pre-int') {
+ steps {
+ echo 'Deploying in pre-integration....'
+ sh 'rm -rf tng-devops || true'
+ sh 'git clone https://github.com/sonata-nfv/tng-devops.git'
+ dir(path: 'tng-devops') {
+ sh 'ansible-playbook roles/sp.yml -i environments -e "target=pre-int-sp component=portal"'
+ sh 'ansible-playbook roles/vnv.yml -i environments -e "target=pre-int-vnv component=portal"'
+ }
+ }
+ }
+ stage('Deployment in Integration') {
+ when {
+ branch 'master'
+ }
+ steps {
+ sh 'docker tag registry.sonata-nfv.eu:5000/tng-portal:latest registry.sonata-nfv.eu:5000/tng-portal:int'
+ sh 'docker push registry.sonata-nfv.eu:5000/tng-portal:int'
+ sh 'rm -rf tng-devops || true'
+ sh 'git clone https://github.com/sonata-nfv/tng-devops.git'
+ dir(path: 'tng-devops') {
+ sh 'ansible-playbook roles/sp.yml -i environments -e "target=int-sp component=portal"'
sh 'ansible-playbook roles/vnv.yml -i environments -e "target=int-vnv component=portal"'
- }
- }
- }
- }
+ }
+ }
+ }
+ stage('Promoting release v5.0') {
+ when {
+ branch 'v5.0'
+ }
+ stages {
+ stage('Generating release') {
+ steps {
+ sh 'docker tag registry.sonata-nfv.eu:5000/tng-portal:latest registry.sonata-nfv.eu:5000/tng-portal:v5.0'
+ sh 'docker tag registry.sonata-nfv.eu:5000/tng-portal:latest sonatanfv/tng-portal:v5.0'
+ sh 'docker push registry.sonata-nfv.eu:5000/tng-portal:v5.0'
+ sh 'docker push sonatanfv/tng-portal:v5.0'
+ }
+ }
+ stage('Deploying in v5.0 servers') {
+ steps {
+ sh 'rm -rf tng-devops || true'
+ sh 'git clone https://github.com/sonata-nfv/tng-devops.git'
+ dir(path: 'tng-devops') {
+ sh 'ansible-playbook roles/sp.yml -i environments -e "target=sta-sp-v5-0 component=portal"'
+ sh 'ansible-playbook roles/vnv.yml -i environments -e "target=sta-vnv-v5-0 component=portal"'
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/README.md b/README.md
index a2872606..f5d3d255 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,15 @@ There is also a version of the Portal for using the 5GTANGO Service Development
-## Dependencies
+## Installation
+
+Make sure that you have all the dependencies installed. Then, run the following command to install all the required modules.
+
+```
+npm install
+```
+
+### Dependencies
- Node.js >= v8.9
@@ -29,19 +37,9 @@ There is also a version of the Portal for using the 5GTANGO Service Development
[sudo] npm install -g @angular/cli
```
-### Running dependencies
-
-Requests made from the Portal in the development mode need the VPN in order to receive a response.
+- Athens VPN credentials: requests made from the Portal in the development mode need the VPN in order to receive a response.
-- Athens VPN credentials
-
-## Installation
-
-Make sure that you have all the dependencies installed. Then, run the following command to install all the required modules.
-
-```
-npm install
-```
+- Make sure you have installed [Docker](https://docs.docker.com/install/) >= 18.06.0-ce if you are going to deploy the Portal like this.
## Developing
@@ -62,15 +60,7 @@ If you want to launch a container locally, place yourself in the Dockerfile fold
The container should be up and running in http://0.0.0.0:80.
-#### Exposed port in docker container
-
-The port where the app will run when using the Docker container can be set in `./Dockerfile`. By default, 4200 is set.
-
-#### Docker dependencies
-
-Make sure you have installed Docker >= 18.06.0-ce
-
-- [https://docs.docker.com/install/](https://docs.docker.com/install/)
+*Note: The port where the app will run when using the Docker container can be set in `./Dockerfile`. By default, 4200 is set.*
## Configuration
Portal allows two different configurations: the base URL of the deployment and the displayed sections of the menu.
diff --git a/src/app/app.component.scss b/src/app/app.component.scss
index 65f3213e..2b31468e 100644
--- a/src/app/app.component.scss
+++ b/src/app/app.component.scss
@@ -719,4 +719,11 @@ ul.unordered-list .mat-input-element:disabled {
margin-left: 10px;
color: $secondary-font-color;
}
-}
\ No newline at end of file
+}
+
+//////////////////////////////////////
+// Generic styles
+//////////////////////////////////////
+.opening-item {
+ cursor: pointer;
+}
diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html
index 16a910ea..121b5fe7 100644
--- a/src/app/dashboard/dashboard.component.html
+++ b/src/app/dashboard/dashboard.component.html
@@ -169,8 +169,8 @@