Jelenlegi hely

Build és teszt folyamatok automatizálása Jenkins pipeline-nal

Contact: adam.kanyo@continental.com

Az autóipari szoftverfejlesztés során az integrációs lépések automatizációja nagymértékben növeli a megbízhatóságot és jelentős manuális munkától kíméli meg a fejlesztőket. Mindkét tényező kívánatos, ezért terjed az úgynevezett folyamatos integráció (continuous integration) gyakorlata, amely során az elkészült munkacsomagok naponta történő integrálása és tesztelése megtörténik.

A hallgató a téma kidolgozása során bemutatja az autóiparban használatos fejlesztői eszközöket, amelyek a folyamatos integrációban részt vesznek, a fejlesztés folyamatát és a vonatkozó előírásokat és követelményeket.

A cél egy olyan script készítése Python nyelven, amely segítségével megvalósíthatók az automatizált build- és teszt folyamatok. Verziókövető rendszerből le kell tölteni a legfrissebb project fájlokat egy általunk kiválasztott mappába. Ezeket a letöltött fájlokat autóiparban használatos beágyazott szoftver fordítójával kell fordítani úgy, hogy a felhasználó igénye szerint lehessen a forrás fájlokat titkosítani és kompresszálni egy külön opcióként. A fordítás után egyéb kiegészítő eszközök, többek között a C nyelvnél használatos statikus kódelemzőt és memóriacím elemző is futtatásra kerüljön.

A verziókövetésről, fordításról és a fordítás után használt eszközök lefutásának eredményéről e-mail-ben értesítse a megadott fejlesztőket. A script-et lehessen futtatni egy automatizáló szerver webes felületéről paraméterek megadásával.

A hallgató feladatai:

Egy olyan script készítése Python nyelven, amely a következő feladatokat hajtja végre:

  • Szinkronizálja a kódbázist verziókövetőből
  • Szoftver fordítás és annak eredményéről értesítést ad
  • Fordítás után használatos eszközöket (statikus kódelemző, memóriacím elemző) futtat
  • E-Mail-t küld az eredményekről

 


 

 Automate build and test pipelines with Jenkins pipeline

 

In automotive software development, the automation of integration steps greatly increases reliability and saves developers significant manual work. Both factors are desirable, which is why the practice of so-called continuous integration is spreading, during which the completed work packages are integrated and tested on a daily basis.

 During the development of the topic, the student introduces the development tools used in the automotive industry that are involved in continuous integration, the development process and the relevant regulations and requirements.

The goal is to create a script in Python that can be used to implement automated build and test processes. From a version control system, you need to download the latest project files to a folder of your choice. These downloaded files must be compiled using an automotive embedded software compiler so that the source files can be encrypted and compressed as a separate option according to the user's needs. After compilation, run additional tools, such as the static code analyzer and memory address analyzer used for C.

 Notify the specified developers by e-mail about source control, translation, and the results of the tools used after compilation. The script can be run from the web interface of an automation server by specifying parameters.

 

Tasks of the student:

Creating a script in Python that performs the following tasks:

  • Sync the codebase from source control
  • Software translation and notification of its results
  • Runs post-compile tools (static code analyzer, memory address analyzer)
  • Sends an email with results