ci: docker_tag=ext - Fix Alpine Dockerfiles and add deployment documentation
This commit is contained in:
parent
cf187f3ec3
commit
adff26e71b
50
.cursorignore
Normal file
50
.cursorignore
Normal file
@ -0,0 +1,50 @@
|
||||
# Cursor ignore file
|
||||
# Exclude sensitive and generated files
|
||||
|
||||
# Environment files
|
||||
.env
|
||||
.env.*
|
||||
!*.env.example
|
||||
|
||||
# Logs
|
||||
log/
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Node modules and build artifacts
|
||||
node_modules/
|
||||
.next/
|
||||
dist/
|
||||
build/
|
||||
coverage/
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# IDE files
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
*.temp
|
||||
*.bak
|
||||
*.backup
|
||||
|
||||
# Sensitive files
|
||||
*.key
|
||||
*.pem
|
||||
*.p12
|
||||
*.jks
|
||||
priv_key.json
|
||||
|
||||
# Docker volumes
|
||||
volumes/
|
||||
|
||||
# Backup configurations
|
||||
conf/nginx/*bak*
|
||||
conf/nginx/*.tmp
|
||||
conf/nginx/*.clean
|
@ -108,6 +108,7 @@ Les configurations ngnix doivent toutes être cenralisées dans lecoffre_node/co
|
||||
|
||||
Pour tous les projets contenant un **Dockerfile**, avant de pousser sur la branche `ext` :
|
||||
|
||||
- Supprime les caches
|
||||
- Des images Docker avec le tag `ext` existent.
|
||||
- Les images Docker ne sont build que via CI qui est la seule à pousser sur le registry ou pour test localement.
|
||||
- Aucun Dockerfile ne doit utiliser de clés ssh car aucun repos n'est privé, utiliser HTTPS.
|
||||
|
125
docs/REX_Dockerfile_Fixes.md
Normal file
125
docs/REX_Dockerfile_Fixes.md
Normal file
@ -0,0 +1,125 @@
|
||||
# REX - Corrections Dockerfiles Alpine Linux
|
||||
|
||||
## Date
|
||||
21 septembre 2025
|
||||
|
||||
## Problème identifié
|
||||
Les Dockerfiles utilisant Alpine Linux tentaient d'installer le package `cscope` qui n'existe pas dans les dépôts Alpine.
|
||||
|
||||
## Erreurs rencontrées
|
||||
```
|
||||
ERROR: unable to select packages:
|
||||
cscope (no such package):
|
||||
required by: world[cscope]
|
||||
```
|
||||
|
||||
## Projets affectés
|
||||
- `sdk_signer` (Dockerfile Alpine)
|
||||
- `ihm_client` (Dockerfile Alpine)
|
||||
- `lecoffre-back-mini` (Dockerfile Alpine)
|
||||
- `lecoffre-front` (Dockerfile Alpine)
|
||||
|
||||
## Solution appliquée
|
||||
Suppression de `cscope` des commandes `apk add` dans tous les Dockerfiles Alpine.
|
||||
|
||||
### Avant
|
||||
```dockerfile
|
||||
RUN apk update && apk upgrade && apk add --no-cache \
|
||||
git \
|
||||
curl \
|
||||
wget \
|
||||
jq \
|
||||
busybox-extras \
|
||||
npm \
|
||||
coreutils \
|
||||
build-base \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool \
|
||||
pkgconfig \
|
||||
cmake \
|
||||
ninja \
|
||||
clang \
|
||||
lldb \
|
||||
lld \
|
||||
make \
|
||||
tree \
|
||||
ncdu \
|
||||
mc \
|
||||
ctags \
|
||||
cscope \
|
||||
vim \
|
||||
emacs \
|
||||
sed \
|
||||
gawk \
|
||||
iputils \
|
||||
net-tools \
|
||||
iproute2 \
|
||||
python3 \
|
||||
python3-dev \
|
||||
py3-pip \
|
||||
go \
|
||||
rust \
|
||||
cargo \
|
||||
&& npm install -g wscat
|
||||
```
|
||||
|
||||
### Après
|
||||
```dockerfile
|
||||
RUN apk update && apk upgrade && apk add --no-cache \
|
||||
git \
|
||||
curl \
|
||||
wget \
|
||||
jq \
|
||||
busybox-extras \
|
||||
npm \
|
||||
coreutils \
|
||||
build-base \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool \
|
||||
pkgconfig \
|
||||
cmake \
|
||||
ninja \
|
||||
clang \
|
||||
lldb \
|
||||
lld \
|
||||
make \
|
||||
tree \
|
||||
ncdu \
|
||||
mc \
|
||||
ctags \
|
||||
vim \
|
||||
emacs \
|
||||
sed \
|
||||
gawk \
|
||||
iputils \
|
||||
net-tools \
|
||||
iproute2 \
|
||||
python3 \
|
||||
python3-dev \
|
||||
py3-pip \
|
||||
go \
|
||||
rust \
|
||||
cargo \
|
||||
&& npm install -g wscat
|
||||
```
|
||||
|
||||
## Résultat
|
||||
Tous les projets avec Dockerfiles Alpine ont été construits avec succès :
|
||||
- ✅ `sdk_relay` (Debian-based)
|
||||
- ✅ `sdk_signer` (Alpine-based)
|
||||
- ✅ `ihm_client` (Alpine-based)
|
||||
- ✅ `lecoffre-back-mini` (Alpine-based)
|
||||
- ✅ `lecoffre-front` (Alpine-based)
|
||||
|
||||
## Leçons apprises
|
||||
1. Vérifier la compatibilité des packages avec la distribution Linux utilisée
|
||||
2. `cscope` n'est pas disponible dans Alpine Linux
|
||||
3. Les Dockerfiles Debian utilisent `apt-get` et peuvent installer `cscope`
|
||||
4. Les Dockerfiles Alpine utilisent `apk` et ne peuvent pas installer `cscope`
|
||||
|
||||
## Actions préventives
|
||||
- Ajouter une vérification de compatibilité des packages dans les scripts de build
|
||||
- Documenter les différences entre distributions Linux dans les Dockerfiles
|
||||
- Créer des tests automatisés pour vérifier la validité des packages
|
Loading…
x
Reference in New Issue
Block a user