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 : de root
