Merge branch 'feature/ci-multi-stages+CI' into 'develop'
Change : refonte du script d'intégration continue. Nouveau script CI, avec les squelettes des futures Job de test des clients, outils et serveur, ainsi que du déploiements de ceux-ci See merge request !19
This commit is contained in:
commit
d44dc182eb
1 changed files with 96 additions and 10 deletions
106
.gitlab-ci.yml
106
.gitlab-ci.yml
|
@ -1,12 +1,21 @@
|
||||||
Linux:
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- staging
|
||||||
|
- production
|
||||||
|
|
||||||
|
## BUILDS
|
||||||
|
|
||||||
|
# Job de compilation pour Linux
|
||||||
|
Linux client build:
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
only:
|
||||||
- develop
|
- develop
|
||||||
|
- /^release\/.*/
|
||||||
- /^feature\/.*(\+CI$|\+CI-LIN64.*)/
|
- /^feature\/.*(\+CI$|\+CI-LIN64.*)/
|
||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- Docker
|
- Docker
|
||||||
- Linux
|
|
||||||
image: ubuntu:14.04
|
image: ubuntu:14.04
|
||||||
script:
|
script:
|
||||||
# Installation des dépendances
|
# Installation des dépendances
|
||||||
|
@ -20,23 +29,24 @@ Linux:
|
||||||
- cd BUILD/x86_64
|
- cd BUILD/x86_64
|
||||||
## Le curl des dépots a trop de dépendances en statique. On le recompile donc, afin d'aléger l'executable
|
## Le curl des dépots a trop de dépendances en statique. On le recompile donc, afin d'aléger l'executable
|
||||||
# Téléchargement et décompression des dépendances à recompiller
|
# Téléchargement et décompression des dépendances à recompiller
|
||||||
- wget -c http://curl.haxx.se/download/curl-7.21.0.tar.gz
|
- wget -c http://curl.haxx.se/download/curl-7.50.0.tar.gz
|
||||||
- tar xzf curl-7.21.0.tar.gz
|
- tar xzf curl-7.50.0.tar.gz
|
||||||
# Compilation de curl
|
# Compilation de curl
|
||||||
- cd curl-7.21.0
|
- cd curl-7.50.0
|
||||||
- ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-ipv6 --disable-crypto-auth --disable-sspi --disable-tls-srp --without-gnutls --without-librtmp --without-libidn --disable-versioned-symbols --disable-pop3 --without-libssh2 --with-ssl=/usr/lib/x86_64-linux-gnu/libssl.so
|
- ./configure --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-ipv6 --disable-crypto-auth --disable-sspi --disable-tls-srp --without-gnutls --without-librtmp --without-libidn --disable-versioned-symbols --disable-pop3 --without-libssh2 --with-ssl
|
||||||
- make install -j$(($(nproc)-1))
|
- make install -j$(($(nproc)/2))
|
||||||
- cd ..
|
- cd ..
|
||||||
## Compilation de Khanat
|
## Compilation de Khanat
|
||||||
# Configuration
|
# Configuration
|
||||||
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON -DCURL_LIBRARY=/usr/local/lib/libcurl.a ../../code
|
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON -DCURL_LIBRARY=/usr/local/lib/libcurl.a ../../code
|
||||||
# Compilation et installation
|
# Compilation et installation
|
||||||
- make -j$(($(nproc)-1)) install DESTDIR=../../Linux/x86_64
|
- make -j$(($(nproc)/2)) install DESTDIR=../../Linux/x86_64
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- Linux
|
- Linux
|
||||||
|
|
||||||
OSX:
|
# Job de compilation pour OSX
|
||||||
|
OSX client build:
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
only:
|
||||||
- develop
|
- develop
|
||||||
|
@ -51,7 +61,83 @@ OSX:
|
||||||
# Configuration
|
# Configuration
|
||||||
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFINAL_VERSION=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_STATIC_EXTERNAL=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_LUA52=ON ../../code
|
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DFINAL_VERSION=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_STATIC_EXTERNAL=ON -DWITH_RYZOM_PATCH=ON -DWITH_RYZOM_CUSTOM_PATCH_SERVER=ON -DWITH_LUA52=ON ../../code
|
||||||
# Compilation et installation
|
# Compilation et installation
|
||||||
- make -j$(($(sysctl -n hw.ncpu)-1)) install DESTDIR=../../OSX/x86_64
|
- make -j$(($(sysctl -n hw.ncpu)/2)) install DESTDIR=../../OSX/x86_64
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- OSX
|
- OSX
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
## TESTS
|
||||||
|
|
||||||
|
.Linux client test:
|
||||||
|
stage: test
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- /^release\/.*/
|
||||||
|
- /^feature\/.*(\+CI$|\+CI-LIN64.*)/
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- Docker
|
||||||
|
image: ubuntu:14.04
|
||||||
|
script:
|
||||||
|
- echo "pas encore de test pour le client Linux"
|
||||||
|
dependencies:
|
||||||
|
- Linux client build
|
||||||
|
|
||||||
|
.OSX client test:
|
||||||
|
stage: test
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- /^release\/.*/
|
||||||
|
- /^feature\/.*(\+CI$|\+CI-LIN64.*)/
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- OSX
|
||||||
|
script:
|
||||||
|
- echo "pas encore de test pour le client OSX"
|
||||||
|
dependencies:
|
||||||
|
- OSX client build
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
##DEPLOYEMENT TO STAGING (TEST SERVER)
|
||||||
|
|
||||||
|
# Job de déploiment vers le staging. Inutilisé pour le moment, il pourrait servir à l'avenir pour déployer automatiquement les nouvelles versions du client/serveur vers l'environnement de staging (zone de test)
|
||||||
|
.Deploy to Staging:
|
||||||
|
stage: staging
|
||||||
|
environment: Staging
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- /^release\/.*/
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- Docker
|
||||||
|
image: ubuntu:14.04
|
||||||
|
script:
|
||||||
|
- echo "pas encore de deployment"
|
||||||
|
dependencies:
|
||||||
|
- Linux client build
|
||||||
|
- Linux client test
|
||||||
|
- OSX client build
|
||||||
|
- OSX client test
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
##DEPLOYEMENT TO PRODUCTION
|
||||||
|
|
||||||
|
# Job de déploiment vers la production. Inutilisé pour le moment, il pourrait servir à l'avenir pour déployer automatiquement les nouvelles versions du client/serveur vers l'environnement de production
|
||||||
|
.Release to Production:
|
||||||
|
stage: production
|
||||||
|
environment: Production
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- Docker
|
||||||
|
image: ubuntu:14.04
|
||||||
|
script:
|
||||||
|
- echo "pas encore de tag"
|
||||||
|
dependencies:
|
||||||
|
- Linux client build
|
||||||
|
- Linux client test
|
||||||
|
- OSX client build
|
||||||
|
- OSX client test
|
||||||
|
- Deploy to Staging
|
||||||
|
when: manual
|
||||||
|
|
Loading…
Reference in a new issue