๐๏ธ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ Github์์ ๋ณด์ ์ํํธ์จ์ด๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฆด๋ฆฌ์คํ๋ ๋ฐฉ๋ฒ์ ๋๋ค ๐ค
โ ์๊ฐ
๋ง์ ์กฐ์ง๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณตํต ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ณ ์ ์ง ๊ด๋ฆฌํด์ผ ํฉ๋๋ค(์ผ๋ช .
BUILD & RUN
).โ๏ธ ์ด ํ๋ก์ธ์ค์๋ ๋ฌ์ฑํด์ผ ํ ๋ง์ ์ผ์ด ํฌํจ๋ฉ๋๋ค... (๊ฐ๋ ฅํ๊ณ ์์ ํ ์ํํธ์จ์ด ๋ฆด๋ฆฌ์ค ํ์ดํ๋ผ์ธ์ ์ป์ผ๋ ค๋ ๊ฒฝ์ฐ).
์ฌ๊ธฐ์๋ ๋ก๊น ์ ์ฉ ๊ณตํต Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ด๋ฌํ ๋ชจ๋ ๊ณผ์ ๋ฅผ ์ด๋ป๊ฒ ๋ฌ์ฑํ๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
opt-nc / ์ตํธ ๋ก๊น
La librairie de refรฉrence pour gรฉnรฉrer des logs bien formatรฉes ร l'OPT.
โ ์ตํธ ๋ก๊น
Cette librairie contient les 2 fichiers de configuration de logback prรฉconisรฉs pour
les devloppements 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 publicique
Cette dรฉpendance est disponible publiquement via Jitpack .
๐ชถ ๋ฉ์ด๋ธ
Ajouter la repoJitpack :
<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>
๐ ๊ทธ๋๋ค
Ajouter la repo :
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Puis la dรฉpendance :dependencies {
implementation 'com.github.opt-nc:opt-logging:Tag'
}
GH๋ฅผ ํตํ ์์กด์ฑ ์์
โฆView on GitHub
๐๏ธ ์ถ์ ์๊ฐ
์ํํธ์จ์ด ๋ฆด๋ฆฌ์ค ํ์ดํ๋ผ์ธ์ ๋งค์ผ ๋ ์งง์ ์ถ์ ์๊ฐ์ ์ป์ต๋๋ค.
์ค์ ๋ก ์ค์ ์ต์ ์ด ์์ต๋๋ค.
maintenance & release tasks have to be drastically automated... and should embed security concerns on the left side of the pipeline.
๐ก๏ธ ๋ณด์
ํ์ดํ๋ผ์ธ์์ ๋ณด์ ์์ ์ ๋ฌ์ฑํ๋ ์ธ ๊ฐ์ง ๋ณด์์ ์ธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
Dependabot ๊ฒฝ๊ณ : ์ด๋ค ์ํ์ด ์๋์ง ์๋ ค์ฃผ๋ ํ ์์ฒญ์ ๋ฐ์ต๋๋ค
CodeQL
GitHub Advanced Security์ ์ผ๋ถ๋ก ์ค์บ(์ผ๋ช
GHAS)๊ทธ๋ฐ ๋ค์ ์ํํธ์จ์ด๋ฅผ ์ถ์ํ๊ธฐ ์ํด
semantic-release
์ ์์กดํ์ฌ ๊ฒฌ๊ณ ํ Semantic Versioning scheme์ ๊ตฌํํ๊ณ fully automated version management and package publishing pipeline.
๐ฟ ๋ฐ๋ชจ
์ ์ฒด ๋ณด์ ๋ฐ ์๋ ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๐
๐งฐ ์คํ
semantic-release
codeql
codeql-action
๐ ๊ด๋ จ ๋ด์ฉ
โฏ Docker ์ด๋ฏธ์ง ์ค์บ ๐ก๏ธ
๐ anchore/grype๋ฅผ ์ฌ์ฉํ์ฌ Java-8 ๋์ปค ์ด๋ฏธ์ง ๋ฒค์น(๋ฐ ์ ํ)
opt-nc์ ๋ํ adriens ใป 4์ 25์ผ ใป 4๋ถ ์ฝ๊ธฐ
๐ ์๋งจํฑ ๋ฆด๋ฆฌ์ค ๋ฐ๋ชจ ๐๏ธ
์๋งจํฑ ๋ฆด๋ฆฌ์ค ์๊ฐ ๋ฐ๋ชจ:
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐๏ธ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ Github์์ ๋ณด์ ์ํํธ์จ์ด๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฆด๋ฆฌ์คํ๋ ๋ฐฉ๋ฒ์ ๋๋ค ๐ค), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/optnc/this-is-how-we-maintain-release-secured-software-on-github-2pn3ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค