Необходимо установить среду в действиях GitHub - PullRequest
2 голосов
/ 08 октября 2019

Мне нужно устанавливать пару cli при каждом запуске рабочего процесса, это занимает много времени на установку, а затем на сборку и публикацию пакета. Какие есть хорошие альтернативы, чтобы избавиться от установки каждый раз?

Ответы [ 2 ]

2 голосов
/ 10 октября 2019

Чтобы расширить ответ @joseph, создайте образ Docker, который подготавливает среду с необходимыми вам инструментами CLI, и затем опубликуйте его в DockerHub. Старайтесь не включать никаких секретов, так как изображение должно быть общедоступным, чтобы GitHub Actions мог его использовать.

В вашем рабочем процессе настройте задание на использование container со следующим синтаксисом. https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer

например,

jobs:
  my_job:
    container:
      image: node:10.16-jessie
      env:
        NODE_ENV: development
      ports:
        - 80
      volumes:
        - my_docker_volume:/volume_mount
      options: --cpus 1

Шаги рабочего процесса в этом задании будут выполняться в контексте вашего контейнера и иметь доступ к предварительно установленным инструментам.

1 голос
/ 08 октября 2019

Я предполагаю, что действия github используют контейнер docker на разных этапах рабочего процесса. Если это так, вместо того, чтобы полагаться на стандартные доступные контейнеры, используйте ваши собственные образы докеров, которые предварительно запекаются со статическими программными компонентами, такими как cli, которые вам нужны.

Чтобы быстро начать работу, возьмите текущий Dockerfile, который вы используете, и добавьте команды установки, сборки и отправки в Docker Hub или реестр GitHub. Позже вы можете взять минимальный образ и установить только минимальное необходимое программное обеспечение.

...