โ About
As many organizations, we have to develop & maintain (aka. BUILD & RUN
) common software.
โ๏ธ This process involves a lot of things that have to be achieved... (if you want to get a robust and secured software release pipeline).
I'll showcase here how we achieved all theses challenges on a common Java library dedicated to logging :
opt-nc / opt-logging
La librairie de rรฉfรฉrence pour gรฉnรฉrer des logs bien formatรฉes ร l'OPT.
โ opt-logging
Cette librairie contient les 2 fichiers de configuration de logback prรฉconisรฉs pour les dรฉveloppements d'application ร l'OPT-NC.
Toutes les logs sont dans le mรชme fichier .log (${LOG_FILE})
ร l'exception des logs mรฉtiers qui se
trouvent dans un seul fichier .json
(${LOG_FILE_JSON})
si le besoin est exprimรฉ.
โฌ๏ธ Import de la dรฉpendance publique
Cette dรฉpendance est disponible publiquement via Jitpack.
๐ชถ Maven
Ajouter la repo Jitpack :
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Puis la dรฉpedance :
<dependency>
<groupId>com.github.opt-nc</groupId>
<artifactId>opt-logging</artifactId>
<version>Tag</version>
</dependency>
๐ Gradle
Ajouter la repo :
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Puis la dรฉpendance :
dependencies {
implementation 'com.github.opt-nc:opt-logging:Tag'
}
Import de la dรฉpendance via
โฆ๐๏ธ Time to Market
Software release pipeline gains everyday a shorter Time To Market.
In fact there is no real option :
maintenance & release tasks have to be drastically automated... and should embed security concerns on the left side of the pipeline.
๐ก๏ธ Security
We have three complementary ways of achieving security tasks on our pipeline :
- Dependabot alerts : so we get Pull Requests to notify us what are the risks
-
CodeQL
Scan as part of GitHub Advanced Security (aka. GHAS) - Docker Image scan (see previous dedicated post)
Then to release software we rely on semantic-release
to implement a solid Semantic Versioning scheme and get a
fully automated version management and package publishing pipeline.
๐ฟ Dรฉmo
Here is the full secured & automated release process ๐
๐งฐ Stack
๐ Related contents
โฏ Scan Docker images ๐ก๏ธ
โ๏ธ Bench (and choose) Java-8 docker images with anchore/grype
adriens for opt-nc ใป Apr 25 '22
๐ Semantic release demo ๐๏ธ
Semantic release intro demo :
Top comments (0)