BgbgL13 / lab-bonjour-github-actions

https://lab.github.com/CollegeBoreal/lab-github-actions:-bonjour-monde
MIT License
0 stars 0 forks source link

Create Dockerfile #2

Closed BgbgL13 closed 4 years ago

github-learning-lab[bot] commented 4 years ago

Beau travail, tu as soumis un Dockerfile. Tu remarqueras qu'à la fin du Dockerfile, nous faisons référence à un script de point d'entrée ENTRYPOINT.

ENTRYPOINT ["/entrypoint.sh"]

Le script entrypoint.sh sera exécuté dans Docker, et il définira ce que l'action va réellement faire.

Étape 2: ajoute un script de point d'entrée

Un script de point d'entrée doit exister dans notre référentiel pour que Docker ait quelque chose à exécuter.

:keyboard: Activité: ajoute un script de point d'entrée et soumets le à ta branche

  1. Dans le cadre de cette branche et de la demande d'extraction pull request, crée un fichier dans le répertoire /action-a/ intitulé entrypoint.sh. Tu peux le faire avec ce lien rapide

  2. Ajoute le contenu suivant au fichier entrypoint.sh:

    #!/bin/sh -l
    
    sh -c "echo Bonjour tout le monde mon nom est $INPUT_MON_NOM"
  3. Mets en scène et soumets les modifications

  4. Pousse les modifications vers GitHub


Je répondrai lorsque je détecte une nouvelle soumission commit sur cette branche.

github-learning-lab[bot] commented 4 years ago

Beau travail en ajoutant le script entrypoint.sh.

Dans entrypoint.sh, tout ce que nous faisons c'est d'afficher un message "Bonjour Monde" en utilisant une variable d'environnement appelée MON_NOM.

Ensuite, nous allons définir un flux de tâches worklow qui utilise l'action GitHub. Enfin, nous créerons le fichier action.yml qui contient les métadonnées de notre action.

action.yml

Toutes les actions nécessitent un fichier de métadonnées qui utilise la syntaxe YAML. Les données du fichier de métadonnées définissent les «entrées», les «sorties» et le «point d'entrée» principal de ton action.

Étape 3: ajouter un fichier de métadonnées d'action

Nous utiliserons un paramètre input pour lire la valeur de MON_NOM.

:keyboard: Activité: Créer action.yml

  1. Dans le cadre de cette branche et demande d'extraction pull request, crée un fichier intitulé action-a/action.yml. Tu peux le faire en utilisant ce lien rapide ou manuellement.

  2. Ajoute le contenu suivant au fichier action.yml:

    name: "Bonjour Actions"
    description: "Saluer quelqu'un"
    author: "octocat@github.com"
    
    inputs:
     MON_NOM:
       description: "Qui saluer?"
       required: true
       default: "Monde"
    
    runs:
     using: "docker"
     image: "Dockerfile"
    
    branding:
     icon: "mic"
     color: "purple"
  3. Mets en scène et valide les modifications

  4. Pousse les modifications vers GitHub


Je répondrai lorsque je détecte une nouvelle soumission sur cette branche.

github-learning-lab[bot] commented 4 years ago

Ensuite, nous allons définir un flux de tâches workflow qui utilise l'action GitHub.

Fichiers de flux de taches workflow

Les flux de tâches sont définis dans des fichiers spéciaux dans le répertoire .github/workflows, nommé main.yml.

Les flux de taches peuvent s'exécuter en fonction de l'événement que tu as choisi. Pour ce laboratoire, nous utiliserons l'événement push.

Nous décomposerons chaque ligne du flux de taches à l'étape suivante.

Étape 3: Crée ton fichier de flux de tâches

Tout d'abord, nous allons ajouter la structure du flux de tâches.

:keyboard: Activité: Nomme et déclenche ton flux de tâches

  1. Crée un fichier intitulé .github/workflows/main.yml. Tu peux le faire en utilisant ce lien rapide ou manuellement:    - Dans le cadre de cette branche et de la demande d'extraction pull request, crée un répertoire workflows contenu dans le répertoire .github.    - Dans le nouveau répertoire .github/workflows/, crée un fichier intitulé main.yml
  2. Ajoute le contenu suivant au fichier main.yml:
    name: Un flux de taches pour mon fichier Bonjour Monde
    on: push
  3. Mets en scène et valide les modifications
  4. Pousse les modifications vers GitHub
Des difficultés à soumettre? Clique ici. Le fichier `main.yml` ne peut pas être modifié à l'aide d'un intégrateur. Essaye de modifier le fichier à l'aide de l'interface Web ou de ta ligne de commande. Il est possible que tu utilises un intégrateur (comme GitHub Desktop ou tout autre outil qui s'authentifie et pousse en ton nom) si tu reçois un message comme celui ci-dessous: ```shell To https://github.com/ton-nom-utilisateur/ton-referentiel.git ! [remote rejected] ta-branche -> ta-branche (refusing to allow an integration to update main.yml) error: failed to push some refs to 'https://github.com/ton-nom-utilisateur/your-repo.git' ```



Je répondrai lorsque je détecterai une nouvelle soumission sur cette branche.

github-learning-lab[bot] commented 4 years ago

Bon travail! :tada: Tu as ajouté un flux de tâches workflow!

Voici ce que cela signifie:

Ensuite, nous devons spécifier une ou plusieurs tâches jobs à exécuter.

Actions

Le flux de tâches workflow regroupent des tâches job et les tâches regroupent des étapes steps. Nous allons maintenant créer une tâche qui exécute une action. Les actions peuvent être utilisées à partir du même référentiel, de tout autre référentiel publique ou d'une image de conteneur Docker publiée. Nous utiliserons une action que nous définirons dans ce référentiel.

Nous allons ajouter le bloc maintenant et le décomposer à l'étape suivante.

Étape 4: exécute une action à partir de ton fichier de flux de tâches workflow

Ajoutons l'action attendue au flux de tâches.

:keyboard: Activité: Ajoute un bloc d'actions à ton fichier de flux de tâches

  1. Dans le cadre de cette branche et demande d'extraction, modifie .github/workflows/main.yml pour ajouter le contenu suivant:
    jobs:
     build:
       name: Action Bonjour Monde
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v1
         - uses: ./action-a
           with:
             MON_NOM: "Mona"
  2. Clique sur Start commit en haut à droite de l'éditeur de flux de tâches
  3. Tapes ton message à soumettre et soummets tes modifications directement dans ta branche
Des difficultés à soumettre? Clique ici. Le fichier `main.yml` ne peut pas être modifié à l'aide d'un intégrateur. Essaye de modifier le fichier à l'aide de l'interface Web ou de ta ligne de commande. Il est possible que tu utilises un intégrateur (comme GitHub Desktop ou tout autre outil qui s'authentifie et pousse en ton nom) si tu reçois un message comme celui ci-dessous: ```shell To https://github.com/ton-nom-utilisateur/ton-referentiel.git ! [remote rejected] ta-branche -> ta-branche (refusing to allow an integration to update main.yml) error: failed to push some refs to 'https://github.com/ton-nom-utilisateur/your-repo.git' ```



Je répondrai lorsque je détecterai une nouvelle soumission sur cette branche.

github-learning-lab[bot] commented 4 years ago

Bien, tu viens d'ajouter un bloc d'action à ton fichier de flux de tâches! Voici quelques détails importants sur pourquoi chaque partie du bloc existe et ce que fait chaque partie.

Ton action a été déclenchée!

Ton référentiel contient désormais une action (définie dans le dossier /action-a/) et un flux de tâches (défini dans le fichier ./github/workflows/main.yml).

Cette action s'exécutera à chaque fois qu'une nouvelle soumission commit est créée ou envoyée au référentiel distant. Puisque tu viens de créer une soumission commit, le flux de tâches workflow devrait être déclenché. Cela peut prendre quelques minutes car il s'agit de la première exécution dans ce référentiel.

Voir ton action en action

Le statut de ton action est indiqué ici dans les demandes d'extraction pull requests (recherche All checks have passed ci-dessous), ou tu peux cliquer sur l'onglet Actions dans ton référentiel. De là, tu verras les actions qui ont été exécutées et tu peux cliquer sur le lien log de l'action pour afficher les détails.

Afficher le journal d'une action

Étape 5: déclencher le workflow

:keyboard: Activité: Voir ton action déclencher le flux de travail workflow

  1. Tu as fait le travail, maintenant assieds-toi et vois ton action déclencher le flux de tâches!

Je répondrai lorsque je détecte que ton action a été exécutée et que j'ai signalé un état.

Les actions peuvent durer une ou deux minutes. Parfois, je réponds aussi trop vite pour que la page soit mise à jour! Si tu ne vois pas de réponse à ton action, attends quelques secondes et actualise la page.

github-learning-lab[bot] commented 4 years ago

Excellent travail d'incorporation de ta demande d'extraction! J'ai créé un nouveau problème , recherche ma réponse finale là-bas.