With nearly 100.000 employees and about 25 years of experience in the global security and aerospace industry, Lockheed Martin is one of the leading technology and innovation companies located in the US. When at the beginning of 2019, we started our customer engagement initiative (CEI) to directly get in touch with our customers, learn about their use cases and needs, and receive feedback on our offerings, we were happy to welcome the long-standing customer of SAP NetWeaver to our project and together reach a wholly new level of collaboration.
During our CEI, Lockheed Martin showed great interest in learning how to improve their development of SAP UI5 applications on SAP Gateway with the help of project “Piper”. This open source project by SAP offers a set of scripted Jenkins pipelines for continuous integration and continuous delivery (CI/CD) together with a shared library that provides steps, describes scenarios, and recommends utilities to modify and enhance them according to specific needs. However, while project “Piper” mainly focuses on application development on SAP Cloud Platform, Lockheed Martin still uses an on-premise ABAP system lower than SAP NetWeaver 7.50. Therefore, we had to extend our shared library – not only to fit Lockheed Martin but other on-premise customers, as well.
Currently, Lockheed Martin have Jenkins deployed in a Docker container hosted on a virtual machine. They use the binary repository manager Artifactory to stage the generated zip files prior to the deployment to their on-premise transport request. As their Git solution, Lockheed Martin utilize BitBucket with webhooks to detect code pushes that trigger their project “Piper” CI/CD pipeline. In an additional CEI, we plan to enhance this pipeline by adding more automated steps.
To serve Lockheed Martin’s needs, we added a new step to the project “Piper” library, enhanced three existing ones, and profiled a new Dockerfile. As our customer deploys a zip file to the ABAP frontend server, we implemented the npmExecute step, which executes npm commands within a Docker container. To fit the transportRequestCreate, transportRequestUploadFile, and the transportRequestRelease steps to Lockheed Martin’s ABAP system lower than 7.50, we extended them with the classical RFC communication as an alternative to OData interfaces. Our new Dockerfile facilitates the RFC upload use case as described in the Continuous Integration (CI) Best Practices with SAP guide. As an outcome of our successful CEI collaboration, Lockheed Martin’s first project supported by project “Piper” went live only a couple of weeks later. Michael Reynolds, SAP COE DevOps Lead at Lockheed Martin, describes our cooperation as follows:
“From Lockheed Martin perspective, this CEI has been highly successful. We now have project ‘Piper’ operational in several productive Fiori application projects and it has helped lower our time to market by increasing our agile user story velocity. Overall, it brings us a step further towards our overall DevOps vision and objectives.”
Do you want to collaborate with us and find out how to use our CI/CD offerings in your specific scenario, as well? Feel free to reach out to us by leaving a comment.
Are you new to CI/CD at SAP? Have a look at Continuous Integration (CI) and Delivery (CD) Overview.
Are you interested in SAP’s CI/CD offerings? See Overview of SAP Offerings for CI and CD.