Outils pour utilisateurs

Outils du site


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

Job Lifecycle Archive le 24/06/2020

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