1
resposta

Cada job é executado em uma máquina virtual

Olá.

Durante as aulas que abordam os artefatos é mencionado que cada job é executado em uma máquina virtual e que por esse motivo os arquivos não ficam disponíveis para outras rotinas.

Cada vez que declaramos a tag jobs vai ser considerada para executar as rotinas em uma máquina virtual? Ou seja, todas as rotinas que estão dentro da tag jobs serão executadas na mesma máquina virtual?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

As entradas em steps são referentes a um único job específico. Então, strategy.matrix definido, arquivos criados, variável definida e outras ações mantidas dentro de um job, "morrem" naquela máquina assim que o job termina.

Note que eu falei job, e não a tag jobs. Falo isso porque jobs tem um ou mais job, e a máquina virtual é criada e destruída no início e fim de cada job. Para evitar confusão, quando eu falo job, me refiro a build e test no exemplo abaixo:

...
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # instruções de compilação executadas aqui!
    ...

  test:
    runs-on: ubuntu-latest
    steps:
      # instruções de teste executadas aqui!

Há exceções a essa regra, obviamente. Por exemplo, Armazenar dados do fluxo de trabalho como artefatos usa a action actions/upload-artifact para armazenar artefatos de um job e a actions/download-artifact para baixar em outro job.