Versions Compared

Key

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

Table of Contents

Deploy Architecture


To make the system deploy, the minimum deployment architecture is shown below, which consist of:

...

  • Teacher Side:  Windows 10 with a Web Browser that supports WebSockets.
  • Student Side:  Windows 10 with a Web Browser that supports WebSockets.
  • Server Side:  CentOS 7
  • Virtual Classroom
  • Tars
  • IEC




Installation on the Client PC side(Teacher/Student Client)

Note well:  No special software to access the application.  The general software is itemized below:

  • Install Windows 10
  • Install camera driver
  • Install Firefox browser


Create two Virtual Machines in the Cloud

For Tencent Cloud,  refer to the following link to apply new instance:

https://intl.cloud.tencent.com/document/product/213/9384?lang=en


For AWS A1, apply new instance, refer to the following link to apply new instance:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html



Image Added


Installation on VM1(Jenkins Slave)

cd /root

yum install -y npm

yum install -y git

yum install -y docker

yum update -y

systemctl restart docker

sleep 3

npm install http-server -g

rm -rf openvidu-vr

git clone https://github.com/OpenVidu/openvidu-vr.git

cd /root/openvidu-vr/openvidu-vr-room/

sed -i 's/demos.openvidu.io/${Local_IP_Address}/g' app.js

sleep 3

docker run --rm --name openvidu_server -d -p 4443:4443 -e openvidu.secret=MY_SECRET -e openvidu.publicurl=https://${Local_IP_Address}:4443/ openvidu/openvidu-server-kms

sleep 6

  • Install Java for Jenkins Slave

For Slave Mode, install Java will be ok.

sudo yum install -y java-1.8.0-openjdk-devel



Installation on VM2(Jenkins Master

...

Installation Architecture 

Due to the hardware source limitation, Connected Vehicle Blueprint is deployed in three Virtual Machines in Amazon Web Service.

(Visit CI Lab Environment Setup if you want to set up connected vehicle blueprint in CI Lab.)  

The following picture depicts the deployment architecture.

Server A  : Deploy Jenkins.

Server B  : Deploy Tars Master Node.

Server C :Deploy Tars Slave(Node) and the connected vehicle applications.

Installation Hardware 

Installation Software

  • CentOS 7 centos-7_aarch64 - ami-012355fc520b79a12
  • mysql  Ver 14.14 Distrib 5.6.26, for Linux (aarch64) using  EditLine wrapper
  • OpenStack: Rocky
  • k8s:1.15.0

Installation Step by Step

...

)

Jenkins is a Java application, so the first step is to install Java. Run the following command to install the OpenJDK 8 package:

sudo yum install -y java-1.8.0-openjdk-devel

The next step is to enable the Jenkins repository. To do that, import the GPG key using the following curl command:

curl --silent --location http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repo

And add the repository to your system with:

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

Once the repository is enabled, install the latest stable version of Jenkins by typing:

sudo yum install -y jenkins

After the installation process is completed, start the Jenkins service with:

sudo systemctl start jenkins

To check whether it started successfully run:

systemctl status jenkins

You should see something similar to this:

# systemctl status jenkins
* jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Tue 2019-10-15 11:16:26 CST; 1min 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 489 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           `-510 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/l...

Oct 15 11:16:25 VM_0_4_centos systemd[1]: Starting LSB: Jenkins Automation Server...
Oct 15 11:16:26 VM_0_4_centos runuser[491]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Oct 15 11:16:26 VM_0_4_centos runuser[491]: pam_unix(runuser:session): session closed for user jenkins
Oct 15 11:16:26 VM_0_4_centos jenkins[489]: Starting Jenkins [  OK  ]
Oct 15 11:16:26 VM_0_4_centos systemd[1]: Started LSB: Jenkins Automation Server.

Finally enable the Jenkins service to start on system boot.

sudo systemctl enable jenkins

output

# sudo systemctl enable jenkins
jenkins.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig jenkins on

Adjust the Firewall If you are installing Jenkins on a remote CentOS server that is protected by a firewall you need to port 8080.

Use the following commands to open the necessary port:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

Setting Up Jenkins To set up your new Jenkins installation, open your browser and type your domain or IP address followed by port 8080:

http://your_ip_or_domain:8080

You will see the website itemized below: imageImage Added

Select the left option and install the plugin later: imageImage Added

Automatic install process: imageImage Added

Configure username/password: imageImage Added

Visit Website: imageImage Added

Jenkins is ready: imageImage Added




I

 


Deploy Architecture


To make the system deploy, the minimum deployment architecture is shown below, which consist of:

 Hardware

  • Wearable Glass (Optional)
  • Teacher Client-Side — Personal Computer with Camera
  • Student Client-Side — Personal Computer with Camera  
  • Server Side — 8 Core 16G Virtual Machine on ARM or x86 Platform 

Software

  • Teacher Side:  Windows 10 with a Web Browser that supports WebSockets.
  • Student Side:  Windows 10 with a Web Browser that supports WebSockets.
  • Server Side:  CentOS 7
  • Virtual Classroom
  • Tars
  • IEC



Image Added


Installation on the Client PC side(Teacher/Student Client)

Note well:  No special software to access the application.  The general software is itemized below:

  • Install Windows 10
  • Install camera driver
  • Install Firefox browser


Create two Virtual Machines in the Cloud

For Tencent Cloud,  refer to the following link to apply new instance:

https://intl.cloud.tencent.com/document/product/213/9384?lang=en


For AWS A1, apply new instance, refer to the following link to apply new instance:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html

Image Removed

Image Removed

Step2: Install Jenkins

Refer to the following link for installing Jenkins Mater and connect to Jenkins Slave.



Image Added


Installation on VM1(Jenkins Slave)

  • Install CentOS 7,   refer to https://

...

...

Image Removed

Image Removed

Step3: Install Tarsframework

Refer to the following link for installing Tarsframework.

...

...

...

The following is the picture for Tars Framework website.

Image Removed

Image Removed

Step4: Tars Node

Refer to the following link for installing Tarsnode and connect Tarsnode to Tarsframework.

https://github.com/qiuxin/Tars/blob/arm/Install.md

Step5: Launch CI jobs

Create CI jobs and launch CI jobs in the following way. 

The detail of the Jenkins script is depicted in the Test Document.  

CVB Test Doc for R2

Image Removed

...

  • Install Virtual Classroom BackEnd

cd /root

yum install -y npm

yum install -y git

yum install -y docker

yum update -y

systemctl restart docker

sleep 3

npm install http-server -g

rm -rf openvidu-vr

git clone https://github.com/OpenVidu/openvidu-vr.git

cd /root/openvidu-vr/openvidu-vr-room/

sed -i 's/demos.openvidu.io/${Local_IP_Address}/g' app.js

sleep 3

docker run --rm --name openvidu_server -d -p 4443:4443 -e openvidu.secret=MY_SECRET -e openvidu.publicurl=https://${Local_IP_Address}:4443/ openvidu/openvidu-server-kms

sleep 6

  • Install Java for Jenkins Slave

For Slave Mode, install Java will be ok.

sudo yum install -y java-1.8.0-openjdk-devel



Installation on VM2(Jenkins Master)

Jenkins is a Java application, so the first step is to install Java. Run the following command to install the OpenJDK 8 package:

sudo yum install -y java-1.8.0-openjdk-devel

The next step is to enable the Jenkins repository. To do that, import the GPG key using the following curl command:

curl --silent --location http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repo

And add the repository to your system with:

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

Once the repository is enabled, install the latest stable version of Jenkins by typing:

sudo yum install -y jenkins

After the installation process is completed, start the Jenkins service with:

sudo systemctl start jenkins

To check whether it started successfully run:

systemctl status jenkins

You should see something similar to this:

# systemctl status jenkins
* jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Tue 2019-10-15 11:16:26 CST; 1min 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 489 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           `-510 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/l...

Oct 15 11:16:25 VM_0_4_centos systemd[1]: Starting LSB: Jenkins Automation Server...
Oct 15 11:16:26 VM_0_4_centos runuser[491]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Oct 15 11:16:26 VM_0_4_centos runuser[491]: pam_unix(runuser:session): session closed for user jenkins
Oct 15 11:16:26 VM_0_4_centos jenkins[489]: Starting Jenkins [  OK  ]
Oct 15 11:16:26 VM_0_4_centos systemd[1]: Started LSB: Jenkins Automation Server.

Finally enable the Jenkins service to start on system boot.

sudo systemctl enable jenkins

output

# sudo systemctl enable jenkins
jenkins.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig jenkins on

Adjust the Firewall If you are installing Jenkins on a remote CentOS server that is protected by a firewall you need to port 8080.

Use the following commands to open the necessary port:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

Setting Up Jenkins To set up your new Jenkins installation, open your browser and type your domain or IP address followed by port 8080:

http://your_ip_or_domain:8080

You will see the website itemized below: imageImage Added

Select the left option and install the plugin later: imageImage Added

Automatic install process: imageImage Added

Configure username/password: imageImage Added

Visit Website: imageImage Added

Jenkins is ready: imageImage Added




I