OpenAirInterface Continuous Integration Training

8m ago
8 Views
1 Downloads
2.20 MB
72 Pages
Last View : 1d ago
Last Download : 3m ago
Upload by : Dani Mulvey
Transcription

OpenAirInterface Continuous Integration Training Raphael Defosseux June 25th, 2019

A little bit about me 20 years of experience in developing HW and SW code 13 years in real SW dev as Coder in C/C /Java/Android/any scripting language Integrator and maintainer for industrial products Negotiator of features/improvements with customers Joined OpenAirInterface Software Alliance on April 3rd 2018 As “Software Manager” Continuous Integration and Methodology expert 2019-06-25 OAI Continuous Integration Training 2

About this training session This session is an extension of the training done during the Sophia Workshop in December NEW Updated/New slides will have a new sticker Improvements have been made to the different scripts and scenarios This session is also an extension of the training done during the Beijing Workshop in June by Kentaro Sawada from FUJITSU His presentation is available on the OAI web-site: http://www.openairinterface.org/?page id 2816 Continuous Integration is a living animal like the OAI code Some points in this presentation might quickly become obsolete 2019-06-25 OAI Continuous Integration Training 3

Introduction to CI CI Continuous Integration CD Continuous Deployment 2019-06-25 OAI Continuous Integration Training 4

OpenAirInterface Software Alliance Goals Provide a clean, working software base Functional with a feature list Verified with test-cases and coverage Welcome new contributors and new users Ease of use Make life easier for Contributors Integrators 2019-06-25 OAI Continuous Integration Training 5

Why do we do Continuous Integration? Making sure existing features are always tested That their performances are not degraded Making sure new feature introductions do not break existing features In addition new tests have to be added to keep testing these new features Making sure new contributions meet quality standards Making integrator life easier Focus is now on the code review and not validating the added functionality 2019-06-25 OAI Continuous Integration Training 6

Why CI is good for common users? NEW Our project is always lagging on documentation Even if we are pushing contributors to add in-repo doc/tutorials Easier to maintain We have a great support amongst the community Through our user / developer mailing lists But CI can be also a support material for a common user All the scripts / configuration files are visible All run / test / build logs are available Perfect examples on how we run OAI 2019-06-25 OAI Continuous Integration Training 7

Code Quality Definition Code shall be: “Beautiful” “Correct” “Functional” “Fully Tested” Does code follow coding guidelines? Does code compile and won’t crash? Is code tested against known pattern? Are all code lines reached? Code Quality Indicators shall be Measured by automated tools such as Continuous Integration Logged as proof -- Traceability 2019-06-25 OAI Continuous Integration Training 8

OAI CI Work Flow Feedback on status Jenkins Server Integration Job - Triggered by Merge Requests Code Changes Pipeline Stages Guidelines Check Static Code Analysis Build Most Variants Test with Equipment Build All Variants Full Test with Equipment web-hooks Pipeline Stages Release Job - Triggered by Commits on develop / master Guidelines Check Static Code Analysis BEAUTIFUL CORRECT FUNCTIONAL TESTED Report In Release Notes GitHub 2019-06-25 OAI Continuous Integration Training 9

Testing Test pattern / scripts written by the feature developer is nice But it does not prevent misunderstanding on the feature implementation 3rd party tool / equipment is better used to test part of OAI code 2019-06-25 OAI Continuous Integration Training 10

OAI Code vs LTEBOX OAI CN rd 3 party RAN Emulator OAI eNB / gNB COTS-UE OAI UE OAI CN CI OAI RAN CI 2019-06-25 OAI FLEXRAN CTL OAI Continuous Integration Training 11

In the Future: OAI Continuous Deployment COTS-UE ORCHESTRATION OAI CN OAI eNB / gNB OAI UE OAI FLEXRAN CTL 2019-06-25 OAI Continuous Integration Training 12

RAN vs CN CI Status Fully integrated to GitLab MergeRequest process CI scripts embedded in repo Formatting Rule Check Static Code Analysis Variant Builds on several OS Testing w/ simulator and RF-board Feedback to contributor by email NEW Fully integrated with GitHub done For openair-cn and openair-cn-cups CI scripts in a private separate repo Build and Configuration of vNF On separate Virtual Machines Minimal feedback to GitHub No test integration w/ NG4T RAN emulator yet Feedback to contributor by email RAN ACCESS NETWORK 2019-06-25 CORE NETWORK OAI Continuous Integration Training 13

Focus on the RAN CI It is currently the most advanced CI process But the principles are the same for the CN CI 2019-06-25 OAI Continuous Integration Training 14

Where does it start? The GITLAB repository CI Status Notification All CI scripts / files are located here To contribute, reach us at contact@openairinterface.org 2019-06-25 OAI Continuous Integration Training 15

A Push vs a Merge Request RAN CI jobs will be automatically triggered when: A push to develop branch occurs Power users like myself (on the previous slide) do a straight push When a (several) merge request(s) is (are) merged into develop branch A Merge Request to develop branch is opened, edited, updated At creation or after edition (for example, assigning someone) Mainly when you are pushing again to the source branch 2019-06-25 OAI Continuous Integration Training 16

WIP or not WIP? That is the question WIP: Work In Progress When creating a Merge Request, you can tag it as WIP WIP Merge Requests WILL NOT trigger CI jobs Don’t forget to select box here in order to remove the source branch after the merge! For CI to process, the Merge Request has to be MERGE-ABLE. As a matter of fact, it is the first check performed by CI pipeline script At least the MR should be merge-able at Creation (without the WIP tag) If the MR review is taking a long time, it might become un-merge-able with conflicts due to other MR merges 2019-06-25 OAI Continuous Integration Training 17

GitLab CI Notifications Click Here Click on Any to access directly the Jenkins job URL 2 Failures The Pipeline page opens with all the intermediate notifications 2019-06-25 OAI Continuous Integration Training 18

GitLab CI Notifications on a MR (1) Click Here for the pop-up Menu Click Here Click Here CI ran 9 times on this MR 2019-06-25 OAI Continuous Integration Training 19

GitLab CI Notifications on a MR (2) OAI Formatting Check Compilation Warnings are located on the files modified by the MR CI is using my credentials You may or may not be responsible for them Contributor is making a new push - CI is starting again Click Here to access Jenkins master job web-page I took another currently opened MR (#432) 2019-06-25 OAI Continuous Integration Training 20

Notifications on Slack Channel Public Channel I made a few mistakes developing CI scripts You can DM me Join us at https://openairinterface.slack.com/ 2019-06-25 OAI Continuous Integration Training 21

Email to the committer I was the committer Was it a Push or a Merge Request? All HTML reports 2019-06-25 OAI Continuous Integration Training 22

RAN CI Jobs Architecture open5glab.eurecom.fr Web-hooks are triggered by Merge-Requests Pushes to develop branch Slave Jobs are triggered by master job Triggers will carry some parameters TDD Monolithic eNB Slave Job FDD Monolithic eNB Slave Job web-hooks RAN-CI eNb-CI Master Jobs eNb-CI Master Job Master Job FDD IF4p5 Slave Job Visible from the World Wide Web 2019-06-25 We are testing the OAI eNB and the OAI UE now OAI Continuous Integration Training FDD Monolithic UE Slave Job FDD Monolithic eNB UE Slave Job NEW 23

Master RAN CI Job Where the CI starts 2019-06-25 OAI Continuous Integration Training 24

OS / Platform Flavors Currently most of our CI build / testing is done under x86 – Ubuntu 16.04 LTS (xenial) We are building a single variant on a remote CentOS 7.4 server I would like to have dedicated eNB master pipeline jobs for x86 – Ubuntu 16.04 LTS (xenial) x86 – Ubuntu 18.04 LTS (bionic) x86 – CentOS 7.4 or 7.6 2019-06-25 OAI Continuous Integration Training 25

Clean Containers The purpose is to always from a clean sheet Currently we are creating “quickly” little Virtual Machines We are using uvt-kvm package for ease of use Each Virtual Machine (VM) has to reinstall tools for the variant build Checking if configuration is not missing from the GITLAB repository We (CI team) are investigating using Docker instances to speed up process 2019-06-25 OAI Continuous Integration Training 26

Deported Processing Node is a Jenkins terminology worker Pipeline executes on nodea.eurecom.fr Web-hooks are triggered by Merge-Requests Pushes to develop branch open5glab.eurecom.fr web-hooks eNb-CI Master Job VM Variant #A VM Variant #B VM Variant #C VM Variant #D Guideline checks Static Code Analysis (cppcheck) All common variants are built Tests without any RF HW Unit-level simulators Full stack simulators Ethernet transport 2019-06-25 uvt-kvm Visible from the World Wide Web Eurecom private network OAI Continuous Integration Training 27

Old RAN Master Job Pipeline If Any of Build Stages fails, no Testing performed Stage where formatting is checked Currently non blocking Stages where VM are created and builds started - It is sequential so host server won’t crash Not every stage is a GitLab intermediate notification Slave Jobs Build Stage on a remote CENTOS Server (not a VM) Still the eNB CI job #503 ! 2019-06-25 OAI Continuous Integration Training 28

RAN Master Job Pipeline Slave Jobs With real radio NEW All VM-based Radio-less tests on simulators are sequential To improve reliability 2019-06-25 OAI Continuous Integration Training 29

Variants Builds Variant Name Build Options (Default 3GPP-Release is Release 14) enb-usrp build oai --eNB -w USRP --mu basic-sim build oai –eNB –UE phy-sim build oai --phy simulators enb-ethernet build oai –eNB ue-ethernet build oai --UE cppcheck cppcheck --enable warning --force --xml --xml-version 2 I know “build oai” has a lot of options But we cannot check every option NEW If you think a variant is missing and is important to developers / users, let us know We could add a variant in the pipeline The first 2 build variants will soon disappear 2019-06-25 OAI Continuous Integration Training 30

What is tested in RAN Master Job? Here we are performing RF-less testing NEW The “physical simulators” unitary tests are testing L1 physical layer The “basic simulator” allows to connect an eNB and a single UE through a tunnel Basic connection with Eurecom RIC (RAN Intelligent Controller) (FlexRAN) The “L2 simulator” allows to connect an eNB and multiple Ues bypassing the Layer 1 (using the nFAPI) The “RF simulator” soon will connect eNB and multiple Ues through a simulated channel 2019-06-25 OAI Continuous Integration Training 31

Basic Simulator Testing Once the connection between all components is complete ping UE from EPC VM iperf DL from EPC VM to UE iperf UL from UE to EPC VM VM ci-epc VM ci-basic-sim UE VM are created, installed or recompiled every CI job run eNB VM ci-flexran-ctl If the FLEXRAN Controller installation is complete Status queries Configuration changes 2019-06-25 OAI Continuous Integration Training 32

HTML Reporting on builds Click Here to access the Jenkins Job webpage Details on the job Click to have the list of files to format Each variant summary for each library Details on the SCA errors and warnings More details 2019-06-25 OAI Continuous Integration Training 33

HTML Reporting on tests Click Here to access the Jenkins Job webpage NEW Click Here for more details Click Here for more details Click Here for more details 2019-06-25 OAI Continuous Integration Training 34

Let see more details on our failing test Click here to expand the table Here is the issue 2019-06-25 OAI Continuous Integration Training 35

How to get to build log files Click Here to access the Jenkins Job webpage from the HTML build or test report Download build or test logs Click on the Artifacts tab HTML Reports from Master and Slave Jobs are archived also 2019-06-25 OAI Continuous Integration Training 36

VM Build Log Files NEW 2019-06-25 OAI Continuous Integration Training 37

VM Test Log Files NEW 2019-06-25 OAI Continuous Integration Training 38

How you can contribute to CI Master Job Only a single script is pulled from the develop branch ci-scripts/Jenkinsfile-gitlab It means a modification on this file during a Merge-Request won’t be taken into account unless merged to develop branch Adding / Removing a stage Changing actions within a stage All the rest is opened to any contributor: Adding tests to basic-simulator see ci-scripts/runTestOnVM.sh Adding tests to physical-simulators see cmake targets/autotests/test case list.xml Adding FLEXRAN commands/queries see ci-scripts/runTestOnVM.sh Later on we will introduce full L1 and RF simulator stages 2019-06-25 OAI Continuous Integration Training 39

How you can contribute to CI Master Job (2) Documentation is available: On the Wiki: ikis/ci/continuousintegration-home In the repository: lob/develop/ciscripts/doc/ci dev home.md NEW 2019-06-25 OAI Continuous Integration Training 40

Side Branches Testing We can have independent CI for a feature branch Currently gNB-CI master job is automatically triggered by push or merge request to develop-nr branch It has extra-stages on build (gNB and 5G-NR UE) Additional Testing on physical simulators It is calling the same eNB/UE slave jobs for legacy testing It SHALL be temporary and SHALL be removed once feature branch is merged into develop 2019-06-25 OAI Continuous Integration Training 41

Master Branch Maintenance NEW The master branch has also its own RAN CI job CI-master/ Pipeline and Test Suite are specific to master branch feature set It allows to do merge requests towards master branch for patches Since January 2019 (v1.0.0) master release, we did 4 patches 2019-06-25 OAI Continuous Integration Training 42

NEW Coverity Scan Another Static Code Analysis 2019-06-25 OAI Continuous Integration Training 43

Synopsys Coverity Scan NEW Synopsys is offering to the Open-Source Projects a free limited version of its tool Coverity The limitations are: The Analysis is performed on Synopsys Cloud servers Only the Build is done locally on our server Depending on the code size of the project, limited number of analysis per day On the RAN openairinterface project: 1 analysis per day Our analysis is queued and you wait for result: Last Week I submitted an analysis and 225 jobs were in front of mine Still waiting for the result The results are not exportable Only through the Web Interface History is very limited 2019-06-25 OAI Continuous Integration Training 44

Our project on Coverity Scan NEW e5g Sign up and I will grant you reviewer access We have been submitting jobs on each new develop branch integration since early May 2019 Variant analyzed: ./build oai -w USRP --eNB --build-coverity-scan Fujitsu is leading the effort to resolve “High Impact” defects 2019-06-25 OAI Continuous Integration Training 45

Current Coverity Scan Status NEW We are fixing defects and trending down !! 2019-06-25 OAI Continuous Integration Training 46

Slave eNB/UE CI Jobs A lot has been already covered by Kentaro SAWADA’s June 2018 training session I will present the improvements 2019-06-25 OAI Continuous Integration Training 47

Modularity NEW Currently we have 7 slave jobs (4 in December 2018) Monolithic FDD eNB: Band 7 : Monolithic FDD eNB: Band 13 : Monolithic TDD eNB: Band 40 : IF4p5/F1 FDD eNB: Band 7 : IF4p5 TDD eNB: Band 40 : Monolithic FDD OAI UE: Band 20 : Monolithic FDD eNB UE: Band 7 : 5MHz, 10MHz and 20MHz 10MHz to test with LTE-M modules 5MHz, 10MHz and 20MHz 5MHz, 10MHz and 20MHz 5MHz, 10MHz and 20MHz Sniffing Commercial eNB 5MHz in S1 and noS1 configurations Based on the same pipeline and the same python script Only the scenario changes We are now testing also RRC inactivity timers and CDRX 2019-06-25 OAI Continuous Integration Training 48

Modularity (2) NEW For 5G NR RAN project We have started to run with 2 N310 RF boards Since it is a shared resource with developers at Eurecom, Not fully integrated in the merge request process (target branch develop-nr) Nightly Build Based on the same python script and same pipeline 2019-06-25 OAI Continuous Integration Training 49

Deported Processing Pipeline executes on enbz.eurecom.fr enbz.eurecom.fr nodeb.eurecom.fr open5glab.eurecom.fr Common Python Common Pipeline Build eNB with USRP option Test XML is a parameter on slave job USRP board Faraday Cage Any Slave Job epc4ci.eurecom.fr adbx.eurecom.fr Nokia LTEBOX EPC Control UEs adbx.eurecom.fr OpenAirCN EPC Eurecom private network Visible from the World Wide Web 2019-06-25 OAI Continuous Integration Training 50

Pipeline Parameters The resources Scenario to use Parameters are now part of the slave job configuration No more inside the Jenkins pipeline file Reason: modularity Same pipeline re-used for several Slave Jobs EPC type 2019-06-25 OAI Continuous Integration Training 51

Added a Stage in Pipeline Slave job to master job #503 Added Stage 2019-06-25 OAI Continuous Integration Training 52

Lockable Resources All slave jobs are launched in parallel But they may share HW / SW resources Jenkins plugin allows locking a “resource” for the whole pipeline Other pipelines have to wait until unlocked Currently a single resource: our CI bench Could be split By UE By RF board By EPC 2019-06-25 OAI Continuous Integration Training 53

One “Action Class” in Python Script: iperf Iperf original implementation was using iperf3 At Eurecom we are mainly using iperf (2.0) We support UDP in Downlink and Uplink We support TCP in Downlink and Uplink We introduced “profiles”: single-ue, balanced, un-balanced Checks are performed against the requested throughput in UDP mode 2019-06-25 OAI Continuous Integration Training 54

HTML Report Live Generation At the end of each test-case inside the XML scenario file Python script appends a row to an HTML report file If any test-case in scenario fails after eNB sync Automatic detachment / termination of UE Automatic termination of eNB(s) Analysis of the eNB log file to potentially spot issue If successful, during termination of eNB(s) Automatic analysis of eNB log file 2019-06-25 OAI Continuous Integration Training 55

Slave Job HTML Report Example Click here to get the Slave job web-page Click here to get there 2019-06-25 OAI Continuous Integration Training 56

Tool Validation Recently we have introduced T Tracer support in XML scenario and python script Recording of a RAW file Replaying the extracted messages from the RAW file Tshark recording of the packets between eNB and EPC eNB log file analysis is made from the replayed file 2019-06-25 OAI Continuous Integration Training 57

What’s new since December NEW Multi-XML scenarios support Reason: when failing early in a long scenario, rest of scenario not executed Each Tab is a XML scenario Footer information on eNB/UE characteristics Click on one tab 2019-06-25 OAI Continuous Integration Training 58

How to get to the log files Click Here to access the Jenkins Job webpage from the HTML test report Click on the Artifacts tab The most interesting one contains all eNB log files HTML Report is also archived here 2019-06-25 OAI Continuous Integration Training 59

How you can contribute to CI Slave Jobs (1) 1 script is pulled from the develop branch NEW ci-scripts/Jenkinsfile-tmp-ran, It means a modification on these files during a Merge-Request won’t be taken into account unless merged to develop branch Adding / Removing a stage on the pipeline Changing actions within a stage But modifications on ci-scripts/main.py and one of the XML scenarios under ciscripts/xml files are taken into account Adding / Removing test-case(s) inside the XML scenario file(s) Changing the parameters of a test-case inside the XML scenario file(s) Changing the behavior of an “action class” in the python script Nonetheless development on these files can be done and check with a template CI job and a push to develop-ci branch /job/CI-Sandbox-Ran/ 2019-06-25 OAI Continuous Integration Training 60

How you can contribute to CI Slave Jobs (2) All the configuration files used by CI are located under ci-scripts/conf files folder CAUTION: there are 4 keywords that are automatically replaced with correct values by CI scripts CI ENB IP ADDR CI UE IP ADDR CI MME IP ADDR CI FLEXRAN CTL IP ADDR 2019-06-25 OAI Continuous Integration Training 61

Statistics since June 2018 As of December 7th, 2018 As of June 20th, 2019 eNb-CI / RAN-CI-develop Master job: started June 12th Ran 506 times 423 times gNb-CI Master job: started June 25th Ran 247 times 242 times eNB-CI-FDD-Band7-B210: started July 30th Ran 419 times 528 times eNB-CI-TDD-Band40-B210: started September 3rd Ran 312 times 528 times eNB-CI-IF4p5-FDD/TDD: started October 16th Ran each 152 times 528 times 2019-06-25 OAI Continuous Integration Training 62

NEW More stats ipelines/charts Introduction of F1 CU/DU unstable tests - 1 or 2 configuration(s) over 3 tested fail(s) each run loss on success rate 2019-06-25 OAI Continuous Integration Training 63

CI is Just a Tool for a Merge Decision NEW No Automatic Merge even if the CI jobs are passing Merge Decision is still a human decision On consequent contributions: A peer review is performed by one or several Technical Committee member(s) A form is posted in the merge request comments See ikis/oai-policieshome We do not merge MR by MR: Each week or so, we integrate all approved Merge Request(s) in a branch CI runs on this integration branch 2019-06-25 OAI Continuous Integration Training 64

Merge Request Stats since Last Workshop Master branch: 4 patches Develop branch: 58 approved Merge Requests ( 14 Integration Merge Requests) About 5.5 runs in average per Merge Request Develop-nr branch: 40 approved Merge Requests ( 5 Integration Merge Requests) About 5.2 runs in average per Merge Request 2019-06-25 OAI Continuous Integration Training 65

Issues We are lacking a X2 Handover setup To be done in July F1 CU/DU splits are unstable: 80% of our current jobs on develop fail for this reason LTE-M testing is limited A single module No application on the module (so just a ping) 5G NR setup very unstable 2019-06-25 OAI Continuous Integration Training 66

Roadmap for CI/CD and for OAI Code base nbIOT, 5G NR tested by CI Full over-the-air Continuous Deployment NEW Red-Hat OpenShift platform Full integration of a 5G non-standalone system 4G RAN 5G RAN OpenAir CN (CUPS) 3rd Parties All C/C files in openairinterface5g repository are meeting OAI coding guidelines (formatting, naming convention, logging ) 2019-06-25 OAI Continuous Integration Training 67

Thanks for listening More details on the implementation can be found on the Wiki ikis/ci/continuous-integration-home 2019-06-25 OAI Continuous Integration Training 68

Back-Up 2019-06-25 OAI Continuous Integration Training 69

Time Statistics Slave Jobs are triggered by both eNB-CI and gNB-CI master jobs The difference is some jobs did have compilation issues Time Distribution 160 140 120 100 80 60 40 20 0 June July eNb-CI 2019-06-25 gNb-CI August eNB-CI-FDD-Band7-B210 September eNB-CI-TDD-Band40-B210 October eNB-CI-IF4p5-FDD-Band7-B210 OAI Continuous Integration Training November December eNB-CI-IF4p5-TDD-Band40-B210 70

eNB-CI Master Job Statistics PASS / FAIL RATIO PASS FAIL PASS/FAIL Per Merge Request 12 10 8 6 MERGE 74 302 4 2 RUN We have a lot of False Negatives due to: Code underperformances Tool instability IT IMPLIES A MANUAL INSPECTION OF HTML REPORTS LOG FILES TO SEE IF IT IS REALLY A FAILURE 2019-06-25 MR-ID-#464 MR-ID-#458 MR-ID-#452 MR-ID-#444 MR-ID-#435 MR-ID-#426 MR-ID-#419 MR-ID-#411 MR-ID-#406 MR-ID-#402 MR-ID-#398 MR-ID-#392 MR-ID-#388 MR-ID-#383 MR-ID-#379 MR-ID-#375 MR-ID-#370 MR-ID-#365 MR-ID-#361 MR-ID-#357 MR-ID-#353 MR-ID-#348 MR-ID-#344 MR-ID-#340 MR-ID-#336 MR-ID-#332 80 MR-ID-#327 34 MR-ID-#323 PUSH MR-ID-#309 0 PASS We have serviced 115 Merge Requests since June It includes Merge Requests that were trashed It includes Weekly Integration Merge Requests OAI Continuous Integration Training 71

Why the eNb-CI Master Job Failed? FAIL CI script debugging RUN Failure Reasons FAILURE RATE 4 376 1.1% Merge Conflicts 12 376 3.2% Compile/Build Issues 34 376 9.0% 6 214 2.8% 96 214 44.9% Monolithic-FDD Slave Job 133 266 50.0% Monolithic-TDD Slave Job 50 206 24.3% IF4p5-FDD Slave Job 15 55 27.3% IF4p5-TDD Slave Job 8 62 12.9% Physical Simulators Basic Simulator 12.9% 1.1% 3.2% 9.0% 2.8% 27.3% True Failures 44.9% 24.3% 50.0% Require manual inspection CI script debugging Merge Conflicts Compile/Build Issues Physical Simulators Basic Simulator Monolithic-FDD Monolithic-TDD IF4p5-FDD IF4p5-TDD THIS IS ONLY ON THE 376 MERGE REQUESTS’ RUN CI ALSO EVOLVED OVER TIME IF THE CI BENCH IS FREE, THE WHOLE PROCESS (MASTER SLAVES) TAKES ABOUT 90 MINUTES 2019-06-25 OAI Continuous Integration Training 72

Continuous Integration is a living animal like the OAI code Some points in this presentation might quickly become obsolete 2019-06-25 3 NEW. Introduction to CI CI Continuous Integration CD Continuous Deployment 2019-06-25 OAI Continuous Integration Training 4.

Related Documents:

continuous integration and continuous delivery of the software was achieved as shown in fig 4. ACKNOWLEDGEMENT. I would like to express our gratitude to our guide for guiding us in each step Sowmya Nag Kof project. CONCLUSIONS AND FUTURE SCOPE . Continuous integration and continuous delivery is an ideal scenario for application teams in an .

Agile and Continuous Delivery Oracle Confidential – Restricted Continuous Delivery: frequent releases of new software through the use of automated testing and continuous integration. Continuous integration continuous delivery continuous deployment code label branch(es) p

Basic flow of the Continuous Integration & Delivery service 1. A developer pushes code changes into a central source code management system (SCM). 2. The SCM triggers an event to which SAP Cloud Platform Continuous Integration and Delivery reacts. 3. The Continuous Integration & Delivery service tests, builds, and deploys the code changes and .

DevOps lifecycle: 1. Continuous Development 2. Continuous Testing 3. Continuous Integration 4. Continuous Deployment 5. Continuous Monitoring 1. Continuous Development This is the phase that involves planning and coding of the software application's functionality. There are no tools for planning as such, but there are several tools for

Continuous integration reduces surprises and risk. There are many small integrations throughout the project rather than a few big ones. There's no "death march" at the end of the project when integration is forced. Continuous integration promotes communication and cooperation among developers.

Integration EMR/EHR Integration "Healthcare data exchange platform" "Data extraction and interoperability" "Data integration for healthcare" "EHR-specific, cloud-based interface engine" "EHR integration and third-party developer marketplace" "EMR integration to software products" "Specific EHR integration for HL7

Integration from SAP Ariba Different integration options 1. Ariba Network integration -Standard integration between SAP S/4HANA and SAP ERP with Ariba Network solutions 2. SAP Ariba Applications integration -Standard integration between SAP S/4HANA OP and SAP ERP with SAP Ariba Applications that cover the entire source-to-settle process 3.

study of p-rough paths and their collection is done in the second part of the course. Guided by the results on flows of the first part, we shall reinterpret equation (0.4) to construct directly a flow ϕsolution to the equation (0.6) dϕ F X(dt), in a sense to be made precise in the third part of the course. The recipe of construction of ϕwill consist in associating to F and X a C1 .