prog:travis
Ceci est une ancienne révision du document !
Table des matières
travis.yml
Hello world
- Cas basique commenté
# Language de programmation. On ne peut en sélectionner qu'un seul à la fois. language: cpp # Les éventuels services. Ici Docker. # Parfois, il faut utiliser l'installation via apt, parfois par services, au cas par cas. # Voir https://docs.travis-ci.com/user/database-setup/ pour quelques exemples. services: - docker # Version de la distribution ubuntu. # Pour la liste des versions disponibles : https://docs.travis-ci.com/user/reference/linux/ # Généralement, il n'y a que les version LTS et la dernière est souvent manquante. dist: bionic # Toute première étape : l'installation automatique des paquets. addons: apt: sources: # Ici, je force l'utilisation de la dernière version du système d'exploitation. # Ne pas faire un apt-get dist-upgrade. Ca prend beaucoup de bande passante, de temps et risque de générer un système pas très stable. # Il est préférable d'indiquer un par un la liste des packets à mettre à jour. - sourceline: 'deb http://archive.ubuntu.com/ubuntu/ focal main universe' packages: - cppcheck # Généralement, on met dans before_install tout ce qu'il faut installer (images docker et packets). before_install: - docker pull clangbuiltlinux/ubuntu:latest - docker run --rm clangbuiltlinux/ubuntu:latest clang++-11 --version - cppcheck --version - clang-format --version # Ici, c'est tous les scripts à exécuter. # Ils seront tous exécuté jusqu'au dernier. # Si l'un renvoie un code d'erreur, l'ensemble sera considéré comme failure. # Ici, tout est mis en vrac. Mais il est aussi possible de mettre les commandes dans un script bash. script: - mkdir buildcppgcc; cd buildcppgcc - CC=/usr/bin/gcc-10 CXX=/usr/bin/g++-10 CXXFLAGS="-Wall -Werror -Wextra -Wpedantic -fanalyzer -O2" cmake ../cpp - make - cppcheck --inconclusive --enable=all --check-config --project=compile_commands.json - iwyu_tool -p . > iwyu_tool.log; if [ $(cat iwyu_tool.log |grep -e "should add these lines" -e "should remove these lines" | wc -l) -ne "0" ]; then cat iwyu_tool.log ; exit 1; fi - cd ..
- Ordre d'exécution des commandes
OPTIONAL Install apt addons OPTIONAL Install cache components before_install install before_script script OPTIONAL before_cache (if and only if caching is effective) after_success or after_failure OPTIONAL before_deploy (if and only if deployment is active) OPTIONAL deploy OPTIONAL after_deploy (if and only if deployment is active) after_script
Lignes de commande
Installation
Il faut l'installer et aussi s'identifier.
gem install travis travis login --com
Stockage sécurisé
Encrypting Files Archive le 04/04/2020
- Solution rapide
travis encrypt-file list_to_encrypt.key --add --com
Mais cette technique souffre d'un bug. File decryption fails (wrong final block length) on Windows Archive du 03/09/2015 le 04/04/2020
Il faut alors utiliser la méthode manuelle avec OpenSSL
- OpenSSL
On commence par ajouter le mot de passe en chiffré dans .travis.yml
. La commande doit être exécutée depuis le dossier contenant le fichier
travis encrypt password_openssl=123456789abcdef --add
et accepter les modifications.
Chiffrer le fichier. Les options par défaut ne sont plus sécurisée, d'où les options complémentaires -md sha512 -pbkdf2 -iter 100000
.
openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$password_openssl" -in travis/github-travis-doc.key -out travis/github-travis-doc.key.enc
Et pour déchiffrer, il faut inverser -in
et -out
et ajouter un -d
.
before_install: - openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$password_openssl" -out travis/github-travis-doc.key -in travis/github-travis-doc.key.enc -d
Modules
- Asciidoc
Voir la page Asciidoc dédiée.
prog/travis.1593033043.txt.gz · Dernière modification : 2020/06/24 23:10 de root