This page is an overview of what you need to do to onboard your CI/CD systems and tools and maintain a single pane of solution on Opsera.
Before you begin
If you are new to offering software on Opsera Cloud Solution, sign up to become a customer.
Complete the Customer Onboarding Request Form.
Review and complete the open source compliance requirements.
Checklist
At a high level, you must do the following:
Gather the below information:
output.logstash file location
filebeat.yml location
Signup at opsera.io
Review the pricing options and select a pricing model. We recommend deciding on a pricing model and submitting it for processing before proceeding with the next steps. Pricing models might take up to 7 Days to process. You can continue setting up your VM solution while the pricing model is being processed.
Test your solution end-to-end.
If you want to include support, integrate your support.
Submit your solution to Opsera. After you submit your solution, the Partner Engineering team reviews your submission and works with you to resolve any issues before approving it. When the solution is approved, it is launched within a few minutes.
Maintain and monitor your solution after it has launched.
If you have questions during the onboarding process, contact your Opsera Cloud Partner Engineer. If you don't know who your assigned Partner Engineer is, contact us at cloud-partner-onboarding@google.com.
Begin Integration Process
Opsera offers two solutions as part of the integration process.
Solution - 1
Customers who already have tools running in their own Instance and want to integrate with Opsera
Solution - 2
Customers who don’t have tools in place and want to integrate directly with Opsera
Solution -1: Customers who already have tools:
Jenkins
Follow the below process to configure the Webhook.
Log into Opsera Portal and select Tool Registry from left navigation. | Click + New Tool Button to add a tool. |
Once you click Add Tool, a popup will be displayed. Type Jenkins Tool Name in the Tool Name input and Type Jenkins as Tool Identifier in the dropdown. Once you click Create tool from the Modal Popup, Choose your Tool Name from the Main Tool Registry screen. Then, Click the Connections TAB to enter all the below fields. Hit Save Button once you are done. With these steps completed, now Log into Jenkins Tool to complete below steps. | Click the Create Tool Button once you have completed previous inputs in the popup. |
Log into Jenkins | Click Manage Jenkins |
In the Manage Jenkins page, Choose Notification | Once you select the Job and click install, Jenkins Installation will start as shown below. |
Once Installation is complete, Jenkins will restart. | Once the Restart is completed, Click Configure from left Navigation. |
Goto Job Notifications TAB and enter the Webhook URL | Now you have completed all the steps required. Once you run any job via Jenkins on your end, Analytics will be available at Opsera Portal. |
SonarQube Configuration
To integrate SonarQube, follow the below steps.
Login to SonarQube portal to create Auth token which is required for Opsera Integration. Once you login, Click + Icon located on the top right menu. | Enter an unique Project key name and Display name. |
Note the Project Key you just created. | Now we have to create a Token that you can use with Opsera. Click Administrator link from Top right menu. |
In the Administrator screen, click Security TAB to create the Security Token. | Once you have created, you should see a success message as shown below. |
Now that you have created the Token, let’s update Opsera settings. Log into Opsera Portal and select Tool Registry from left navigation. | Click + New Tool Button to add a tool. |
In the Popup dialogbox,
| Once you click Save Changes, Choose your Tool Name you just created. In this case, choose Sonarqube-demo from the list.
Once you click save, login to SonarQube Portal. |
Once you login, click Configuration from top left Menu and Choose Webhooks. | Click Create Button located on the right side. |
Type the below information in the popup dialogbox. Finally Click Create button to complete the Webhook. | |
To Unsubscribe, from sonarqube,
Administration > configuration > webhooks >Delete.
Screenshot : sonar-add-webhook.png
For JMeter, Junit and XUnit to work as expected, you must configure filebeat before proceeding.
Install Filebeat as per instructions at https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html
Update config path : /etc/filebeat.yml
Follow the below steps to configure the filebeat
Configure filebeat to send data to logstash
Under output.logstash add logstash-url as follows:
Filebeat File Sample:
Click the link for the complete sample filebeat file.https://drive.google.com/file/d/1COjLuCYQupsEWv7OWvgzSpWrOGuL-VlN/view?usp=sharing
output.logstash: # The Logstash hosts hosts: ["develk-logstash.opsera.io:5044"] ssl.enabled: true
Restart filebeat after Updating filebeat.yml:
sudo service filebeat restart
Check if filebeat config error
filebeat test config
To test if filebeat is able to establish connectivity to logstash
filebeat test output
if you have performed above steps, you have successfully completed configuring filebeat. Now that filebeat configuration is complete you can proceed with JMeter, JUnit and XUnit installation.
Junit Installation
You must complete the configuration of filebeat before proceeding these steps. Store test results in instance and Update filebeat to send results logstash.
Update filebeat as below:
- type: log enabled: true paths: - /var/jenkinslogs/*/junitResult.xml exclude_lines: ['^<?xml'] multiline.pattern: '<suite>' multiline.negate: true multiline.match: after multiline.flush_pattern: '</suite>' multiline.timeout: 1000
JMeter Installation
You must complete the configuration of filebeat before proceeding these steps. Store test results in instance and Update filebeat to send results logstash.
- type: log # Change to true to enable this input configuration. enabled: true paths: - /var/lib/docker/volumes/*/_data/jobs/*/builds/*/archive/standardResults.xml multiline.pattern: '<api>' multiline.negate: true multiline.match: after multiline.flush_pattern: '</api>'
XUnit Installation
You must complete the configuration of filebeat before proceeding these steps.
Store Xunit test results in as jenkinsBuildId-xunitResults.xml
Example: if 15 is a Jenkins build ID. result file should be named : 15-xunitResults.xml
- type: log enabled: true paths: - /var/lib/docker/volumes/*/_data/workspace/*/TestResults/*.xml - /var/lib/docker/volumes/*/_data/workspace/*/*/*/TestResults/*.xml
GitLab Installation
Login into gitlab
Select project > Settings(left panel) > Webhook >
Add webhook to send all events to logstash
Screenshot : gitlab-add-webhook.png
Codeship
Add webhook and point to
Login to codeship dashboard > projects > “select your project” > Project settings (top-right) > Notifications >
Create user with read privileges and share username and password with opsera via email
Screenshot : Screenshot : codeship-add-webhook.png
Solution -2: Direct Integration with Opsera
SonarQube InstallationLog into Opsera Portal and Select Platform from the Left navigation | Select Code Security Tool and click Deploy button. Click Confirm button in the popup window to confirm the installation. |
Jenkins InstallationIn the Platform page, Select Jenkins tool and click Confirm Button. |
|