• Ota yhteyttä
  • Etsi

    Avoimen lähdekoodin projektit

    Ohjelmiston tulevaisuus rakennetaan yhdessä

    Open Source Projects Hero Transparent SK 01092020

    Olemme sitoutuneet avoimeen lähdekoodiin ja tutkimukseen

    Me Eficodella haluamme olla mukana rakentamassa ohjelmiston tulevaisuutta. Siksi olemme mukana niin Eurooppalaisessa testiautomaatio- ja palvelimettomien teknologioiden (RADON) tutkimusprojekteissa. Osallistumme myös monenlaisiin avoimen lähdekoodin hankkeisiin ja ylläpidämme useita projekteja. Paneutumalla uusimpaan teknologiaan ja jakamalla tietoa voimme rakentaa ohjelmistoalan tulevaisuutta yhdessä.

    Euroopan unionin TESTOMAT-tutkimushanke

    Testiautomaation uusi sukupolvi

    TESTOMAT-projektin tavoitteena on auttaa ohjelmistotiimejä nopeuttamaan kehitystyötä laadusta tinkimättä. Hankkeen tärkeimpänä lopputuotteena syntyi testiautomaation parannusmalli (Test Automation Improvement Model, TAIM), joka määrittää testiautomaation keskeisimmät kehityskohteet ja mitattavia kehitysaskeleita.

    EU-tutkimushankkeen kautta haluamme edistää testiautomaation tutkimusta monella saralla: kehittää kohdennettuja testausteknologioita, automaattista raportointia koko jatkuvan toimituksen ketjulle ja reaaliaikaisesti toimivan kojelaudan laadunhallintaa varten 33 muun eurooppalaisen kumppanin kanssa.

    Lue lisää
    TESTOMAT_Logo_300

    Euroopan unionin RADON-tutkimushanke

    Palvelimettomien FaaS-ratkaisujen edut Euroopan ohjelmistoalan käyttöön

    RADON-projekti pyrkii kehittämään DevOps-kehyksen, jolla voidaan luoda ja hallinnoida palvelimettomia teknologioita optimaalisesti hyödyntäviä mikropalvelupohjaisia sovelluksia. RADON-sovelluksiin sisällytetään hienojakoisia ja itsenäisesti käyttöönotettavia mikropalveluita, jotka käyttävät tehokkaasti FaaS- ja konttiteknologioita. Tavoitteena on laajentaa palvelimettomien teknologioiden käyttöönottoa Euroopan ohjelmistoalalla.

    Tämän akateemisen hankkeen puitteissa Eficode haluaa tarjota kaupallisen näkökulman yliopistoille ja jakaa tietoa omien palvelujensa käyttötapauksista. Haluamme olla kärkijoukossa edistämässä uusia käyttöönotto- ja sovellutustapoja, tarjoamassa tukea sopiville CI/CD-työkaluille (esim. Jenkins) ja rakentamassa soveltuvia jatkuvan testauksen ja toimituksen kokonaisuuksia.

    RadonLogo-small

    Jenkins Configuration as Code

    Hallinnoi Jenkins-instanssia koodina tällä helppokäyttöisellä lisäosalla

    Kehitimme Jenkins Configuration as Code (JCasC) -lisäosan, luopua Jenkinsin globaalin konfiguraation manuaalisesta muokkaamisesta ensimmäisen käyttöönoton jälkeen. JCasC konfiguroi Jenkinsin automaattisesti heti konfigurointitiedoston luomisen jälkeen. Ratkaisun avulla voit palauttaa Jenkinsin asetukset sekunneissa. JCasC:in avulla voit joko käyttää samaa tiedostoa uudelleen useamman instanssin konfigurointiin tai muutosten testaamisessa paikallisessa instanssissa ennen käyttöönottoa tuotantoympäristössä.

    JCasC on viimeinen puuttuva palanen voidaksesi hallita kaikkea konfigurointia koodilla. Projekti on tulosta Eficoden (aiemmin Praqma) ja Cloudbeesin sekä kasvavan ulkopuolisten asiantuntijoiden joukon yhteistyöstä. Olet lämpimästi tervetullut mukaan yhteistyöhön tuottamaan uusia toiminnallisuuksia tai ratkomaan toimintojen ongelmia tai bugeja. Tavoitteenamme ei ole pelkästään omien ongelmiemme ratkaiseminen – haluamme myös auttaa sinua ratkaisemaan omasi!

    GitHub Lue blogipostaus
    JCasC 1

    Helmsman

    Automatisoi Helm-kaaviot Kubernetes-klustereille

    Helm pakkaa Kubernetes-sovellukset uudelleenkäytettäviksi, muokattaviksi ja jaettaviksi paketeiksi, joita kutsutaan “kaavioiksi” (“charts”). Loppukäyttäjä joutuu kuitenkin kirjoittamaan paljon skriptejä ja konfiguraatiota näiden kaavioiden elinkaaren hallitsemiseksi.

    Koska automaatio on aina yksi Eficoden keskeisiä tavoitteita, päätimme kehittää Helmsman-projektin. Se lisää Helmin ympärille abstraktiotason, jonka avulla on helppo määrittää Helm-kaavioiden tilat Kubernetes-klusterin sisällä ja automatisoida näin elinkaaren hallinta. Helmsmanin navigointia ohjataan deklaratiivisella Desired State File (DSF) -tiedostolla, jota ylläpidetään versionhallintajärjestelmässä. Helmsman siis lukee ohjeesi DSF-tiedostosta ja vertaa niitä valitun klusterin toimintaan. Sen jälkeen se määrittää tarvittavat muutokset tallentamatta/säilyttämättä tarpeettomia tilatietoja.

    Github Lue blogi
    Helmsman

    Muita yhteistyöhankkeitamme

    Git-Icon-Black-small

    2git

    A Groovy DSL to migrate to Git

    2git is a Groovy DSL designed to script your VCS migration. It continuously runs and tweaks your migration script to give you complete confidence in your migration. 2git currently supports migrating from Clearcase and Clearcase UCM to git and Artifactory. 2git was designed to iterate on complex migrations. We wanted to keep scripting freedom while mitigating the pains of dealing with the source VCS.

    Robot framework icon

    Robot Framework plugin for Jenkins

    Collect and publish Robot Framework test results in Jenkins

    A plugin to collect and publish Robot Framework test results in Jenkins with the following features:

    • Test suite and case details with trend graphs
    • Environment variable expansion for build paths in configuration
    • Wildcard support for output files for parsing and archiving of multiple Robot result files
    • Collection and archiving of original Robot report HTML files
    • Summary of Robot run on build page
    • Summary of latest Robot run on project page
    • Trend graph of passed tests over builds on project page
    • Marking build failed/unstable/successful according to pass thresholds given by the user
    • Option to evaluate only critical tests against the pass thresholds
    • Listview column to show overall passed/failed tests in project listing and duration trend
    • Configurable archiving of arbitrary Robot related artifacts per build
    • Token macros for usage with e.g. email-ext plugin
    • Test visibility in radiator views

    Eficode contributed to the creation of the plugin and is currently maintaining the plugin.

    Jenkins icon-250-1

    Pre-tested Integration Plugin

    A Jenkins plugin to prevent your master from breaking

    This Jenkins plugin is designed to keep your master branch from breaking under Continuous Integration by introducing an automated quality tollgate. It allows you to automatically rebase, build, test and run all kinds of checks on your changes before ultimately delivering them to master.

    As a Git SCM decorator, the Pre-tested Integration Plugin listens for new branches matching a configured pattern (ex.: ready/*). When triggered, it merges the target branch into master locally and lets your job run its configured steps. Should they all pass, the plugin considers the merge result good enough and pushes it to the remote master. All that’s left is to make sure only Jenkins has write access to master, and voilà, you are now the proud owner of an unbreakable mainline.

    CI-CD@2x

    Praqmatic Automated Changelog (PAC)

    An automated way of creating accurate changelogs

    This tool allows us to avoid a lot of manual work and uncertainty around new features and new releases. PAC builds up changelogs/release notes by querying your Git repository and possibly your Application Lifecycle Management (ALM) system(s) for extra metadata.

    You can use PAC to create a changelog suited for both developers and release managers. Using templates you can customize the look and feel and generate entire web pages or pdf documents using a simple configuration file.

    Robot framework icon-200

    ImageHorizonLibrary

    A cross-platform Robot Framework library for GUI automation based on image recognition

    Dealing with the automation of desktop client software with graphical user interfaces (GUI) is not always so rosy, especially implemented with older tech. Taking inspiration from predecessors our open source release is an effort to provide ever-increasing automation utilizing image recognition.

    Eficode created and maintains the library.

    Robot framework icon

    Oxygen for Robot Framework

    A new way to consolidate test reporting

    Oxygen is a Robot Framework tool that empowers the user to convert the results of any testing tool or framework to Robot Framework's reporting to consolidate all test reporting together regardless of tools used.

    Eficode created and maintains the tool.

    Robot framework icon-200

    HttpRequestLibrary for Robot Framework

    Test REST interfaces with Java

    This is a library to test REST interfaces in a simple way when running Robot Framework with Maven/Gradle. The goal is to simplify dependency management and enable tests to run only with Java.

    Jenkins icon

    InfluxDB plugin for Jenkins

    Collect data from multiple Jenkins plugins into a single time-series database

    A plugin to send data from various different Jenkins plugins into InfluxDB. It currently supports data from changelog, JUnit, and SonarQube without a separate plugin and it supports Cobertura, JaCoCo, Performance, Performance publisher, Robot Framework, and Serenity plugins. You can also write your own custom data and tags inside the pipeline jobs.

    Eficode created the plugin and is currently maintaining it.

    Medusa icon-1

    Medusa

    Making import and export possible with HashiCorp Vault

    Medusa is an open-source cli tool that can import data from either json or yaml into Vault, and it can export data from any point in Vault to the same formats. This makes it easy to create developer environments, create backups, clone data, move data from different Vault instances with a single cli.

    Robot framework icon-200

    Robot Framework Maven plugin

    Include Robot Framework tests to Maven lifecycle

    The Robot Framework Maven plugin allows Robot Framework tests within a Maven lifecycle. That way developers or CI systems don't need to have anything special installed to be able to run the tests at the necessary phase.

    Robot framework icon-200

    Jrobotremoteserver

    A server offering Java-based Robot Framework libraries remotely via Remote library (XML-RPC)

    When running Robot Framework tests with Python, it might still be necessary to use Java-based libraries. Jroboremoteserver publishes Java-libraries to be used over XML-RPC from Python running Robot Framework. 

    Jrobotremoteserver is an implementation for Java libraries, but there are other remote servers for other languages available, too. See here

    Robot framework icon-200

    JavalibCore for Robot Framework

    Create Java-based Robot Framework libraries in a simpler way

    JavalibCore helps to build Java-based Robot Framework libraries in a simple way and provides e.g. annotations to make the actual library code cleaner.

    Robot framework icon-200

    SeleniumLibrary for Robot Framework with Java

    Browser testing with Robot Framework

    This library provides Selenium for Robot Framework in the Java-way. It can be included in the application testing lifecycle within Maven (or other Java project management tools).

    Robot framework icon-200

    DBLibrary for Robot Framework with Java

    Test databases connectable with JDBC drivers

    Some databases (like Oracle) are a bit hard to be connected with other languages than Java. This library can be used along with Jrobotremoteserver for these kinds of databases, or for databases in tests running with Java.

    DevOpsin edelläkävijät

    Eficode auttaa niin suurien kuin pienienkin yritysten tiimejä kehittämään ohjelmistoja entistäkin paremmin. Me teimme DevOpsia jo ennen kuin käsitteestä oli tietoakaan. Runsaan 15 vuoden aikana olemme nähneet DevOpsin mahdollistamia muutoksia monilla aloilla.

    Uskomme, että ohjelmistokehityksen tulevaisuus on uskomattoman tehokas. Automaatio, liiketoiminnan jatkuva parantaminen ja tiimien välinen yhteistyö ovat missiomme keskiössä.

    Edistämme DevOps-liikettä kouluttamalla seuraavia sukupolvia ja jakamalla kokemuksiamme DevOps-yhteisön kanssa.

    Lue lisää
    Ambitious

    Heräsikö kysymyksiä?
    Autamme mielellämme.