prog:travis
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
prog:travis [2020/06/24 23:10] – Ajout d'un hello world commenté root | prog:travis [2020/11/22 17:52] (Version actuelle) – [Deploy key] : déplacement de la création de la clé dans prog:ssh root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====travis.yml==== | + | ~~NOCACHE~~ |
- | ===Hello world=== | + | =====travis.yml===== |
- | * Cas basique commenté | + | ====Hello world==== |
- | <code yaml> | + | ===Cas basique commenté=== |
- | # Language de programmation. On ne peut en sélectionner qu'un seul à la fois. | + | |
- | language: cpp | + | |
- | # Les éventuels services. Ici Docker. | + | {{gh>https://github.com/bansan85/wiki_le_garrec_fr/blob/ |
- | # Parfois, il faut utiliser l' | + | |
- | # Voir https://docs.travis-ci.com/user/database-setup/ pour quelques exemples. | + | |
- | services: | + | |
- | - docker | + | |
- | # Version de la distribution ubuntu. | + | ===Ordre d' |
- | # Pour la liste des versions disponibles : https:// | + | |
- | # Généralement, | + | |
- | dist: bionic | + | |
- | + | ||
- | # Toute première étape : l' | + | |
- | addons: | + | |
- | apt: | + | |
- | sources: | + | |
- | # Ici, je force l' | + | |
- | # 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' | + | |
- | - sourceline: 'deb http:// | + | |
- | packages: | + | |
- | - cppcheck | + | |
- | + | ||
- | # Généralement, | + | |
- | before_install: | + | |
- | - docker pull clangbuiltlinux/ | + | |
- | - docker run --rm clangbuiltlinux/ | + | |
- | - cppcheck --version | + | |
- | - clang-format --version | + | |
- | + | ||
- | # Ici, c'est tous les scripts à exécuter. | + | |
- | # Ils seront tous exécuté jusqu' | + | |
- | # Si l'un renvoie un code d' | + | |
- | # Ici, tout est mis en vrac. Mais il est aussi possible de mettre les commandes dans un script bash. | + | |
- | script: | + | |
- | - mkdir buildcppgcc; | + | |
- | - CC=/ | + | |
- | - make | + | |
- | - cppcheck --inconclusive --enable=all --check-config --project=compile_commands.json | + | |
- | - iwyu_tool -p . > iwyu_tool.log; | + | |
- | - cd .. | + | |
- | </ | + | |
- | + | ||
- | * Ordre d' | + | |
OPTIONAL Install apt addons | OPTIONAL Install apt addons | ||
Ligne 68: | Ligne 26: | ||
[[https:// | [[https:// | ||
- | ====Lignes de commande==== | + | =====Lignes de commande===== |
- | ===Installation=== | + | ====Installation==== |
Il faut l' | Il faut l' | ||
Ligne 76: | Ligne 34: | ||
<code bash> | <code bash> | ||
gem install travis | gem install travis | ||
- | travis login --com | ||
</ | </ | ||
- | ===Stockage sécurisé=== | + | ====Login==== |
- | [[https:// | + | <WRAP center round info 60%> |
+ | Pour toute utilisation de '' | ||
+ | </WRAP> | ||
- | | + | ===Manuel=== |
+ | |||
+ | travis login --com | ||
+ | |||
+ | ===Automatique avec GitHub=== | ||
+ | |||
+ | | ||
+ | |||
+ | Depuis [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | * Utilisation de Travis | ||
+ | |||
+ | travis login --pro --github-token $GITHUB_PERSONAL_TOKEN | ||
+ | |||
+ | ====Stockage sécurisé==== | ||
+ | |||
+ | ===Chiffrer un fichier automatiquement=== | ||
+ | |||
+ | [[https:// | ||
<code bash> | <code bash> | ||
- | travis encrypt-file | + | travis encrypt-file |
</ | </ | ||
- | Mais cette technique souffre | + | Cela va créer un mot de passe automatiquement, |
- | Il faut alors utiliser la méthode manuelle avec OpenSSL | + | <WRAP center round important 60%> |
+ | Sous Windows, cette technique souffre d'un bug. [[https:// | ||
+ | </ | ||
- | * OpenSSL | + | Il faut alors utiliser la méthode manuelle avec '' |
- | On commence par ajouter le mot de passe en chiffré dans '' | + | ===Chiffrer un fichier manuellement=== |
+ | |||
+ | * Définition du mot de passe | ||
+ | |||
+ | On commence par ajouter le mot de passe en chiffré dans '' | ||
<code bash> | <code bash> | ||
- | travis encrypt | + | travis encrypt --pro PASSWORD_OPENSSL=" |
</ | </ | ||
et accepter les modifications. | et accepter les modifications. | ||
- | Chiffrer | + | <WRAP center round important 60%> |
+ | '' | ||
+ | |||
+ | [[https:// | ||
+ | </ | ||
+ | |||
+ | On peut ajouter la variable d' | ||
+ | |||
+ | <code yaml> | ||
+ | env: | ||
+ | global: | ||
+ | - secure: " | ||
+ | </ | ||
+ | |||
+ | ou à un seul job : | ||
+ | |||
+ | <code yaml> | ||
+ | jobs: | ||
+ | include: | ||
+ | - language: cpp | ||
+ | |||
+ | env: | ||
+ | - secure: " | ||
+ | |||
+ | </ | ||
+ | |||
+ | * Chiffrement d'un fichier | ||
+ | |||
+ | Les options par défaut ne sont plus sécurisées ('' | ||
<code bash> | <code bash> | ||
- | openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$password_openssl" -in travis/ | + | openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$PASSWORD_OPENSSL" -in travis/ |
</ | </ | ||
- | Et pour déchiffrer, | + | Et pour déchiffrer |
<code bash> | <code bash> | ||
before_install: | before_install: | ||
- | - openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$password_openssl" -out travis/ | + | - openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k "$PASSWORD_OPENSSL" -out travis/ |
+ | </ | ||
+ | |||
+ | ===Deploy key=== | ||
+ | |||
+ | Les clés de déploiement permettent de ne pas avoir besoin de saisir le mot de passe pour faire un push vers un dépôt. | ||
+ | |||
+ | * Création de la clé | ||
+ | |||
+ | Il faut commencer par [[prog: | ||
+ | |||
+ | Puis ouvrir le fichier '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Ajouter le [[# | ||
+ | |||
+ | * Configuration de git | ||
+ | |||
+ | Dans le fichier '' | ||
+ | |||
+ | <code yaml> | ||
+ | before_install: | ||
+ | # You must add options either openssl will says : | ||
+ | # *** WARNING : deprecated key derivation used. | ||
+ | - openssl aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -k " | ||
+ | # Open a connection to the authentication agent so ssh-add work. | ||
+ | - eval $(ssh-agent -s) | ||
+ | # ssh-add says: | ||
+ | # Permissions 0664 for ' | ||
+ | # It is required that your private key files are NOT accessible by others. | ||
+ | - chmod 600 travis/ | ||
+ | - ssh-add travis/ | ||
+ | # Configuration de l' | ||
+ | - git config --global user.name " | ||
+ | - git config --global user.email " | ||
+ | </ | ||
+ | |||
+ | * Ajout du dépôt git à modifier dans '' | ||
+ | |||
+ | <code yaml> | ||
+ | script: | ||
+ | # Il faut impérativement utiliser ssh:// | ||
+ | # sinon, la clé importée via ssh-add ne sera pas utilisée. | ||
+ | - git clone ssh:// | ||
+ | - cd wiki_le_garrec_fr_travis | ||
+ | # Faire des modifications et les ajouter via git add | ||
+ | - git commit -m " | ||
+ | - git push | ||
</ | </ | ||
Ligne 121: | Ligne 182: | ||
Voir la page [[prog: | Voir la page [[prog: | ||
+ | |||
+ | ====Messages d' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | Peut apparaître si l'OS est minimaliste, | ||
+ | |||
+ | Il suffit de désactiver le mode interactif : | ||
+ | |||
+ | travis lint $f -x --no-interactive |
prog/travis.1593033043.txt.gz · Dernière modification : 2020/06/24 23:10 de root