如何将 Docker 与 GitHub 操作一起使用?
How do I use Docker with GitHub Actions?
当我创建 GitHub Actions 工作流程文件时,示例 YAML 文件包含 runs-on: ubuntu-latest
。 According to the docs,我只有 Ubuntu、Windows Server 和 macOS X 几个版本之间的选项。
我认为 GitHub 操作在 Docker 中运行。如何选择我的 Docker 图片?
工作(作为工作流程的一部分)运行在虚拟机中。您选择一种环境 provided by them(例如 ubuntu-latest
或 windows-2019
)。
一项工作由一个或多个步骤组成。一个步骤可能是一个简单的 shell 命令,使用 运行。但也可能是 action,using uses
name: CI
on: [push]
jobs:
myjob:
runs-on: ubuntu-18.04 # linux required if you want to use docker
steps:
# Those steps are executed directly on the VM
- run: ls /
- run: echo $HOME
- name: Add a file
run: touch $HOME/stuff.txt
# Those steps are actions, which may run inside a container
- uses: actions/checkout@v1
- uses: ./.github/actions/my-action
- uses: docker://continuumio/anaconda3:2019.07
run: <COMMAND>
用OS 的shell执行命令
uses: actions/checkout@v1
运行s 存储库 checkout
(https://github.com/actions/checkout)中用户/组织 actions
的操作,主要版本 1
uses: ./.github/actions/my-action
运行s 这个路径下你自己的仓库中定义的动作
uses: docker://continuumio/anaconda3:2019.07
运行来自用户/组织 continuumio
、版本 2019.07
的 anaconda3
图片来自 Docker 中心(https://hub.docker.com/r/continuumio/anaconda3)
请记住,如果要使用 Docker,请将 need to select a linux distribution 作为环境。
还应注意,有一个 container
选项,允许您 运行 任何通常 运行 在主机上 运行 的步骤在容器内:https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer
GitHub 操作提供虚拟机 - 如您所述,Ubuntu、Windows 或 macOS - 以及 运行 您在其中的工作流程。您 可以 然后使用该虚拟机 运行 容器内的工作流。
使用 the container
specifier 到 运行 容器内的一个步骤。请务必将 runs-on
指定为容器的适当主机环境(ubuntu-latest
用于 Linux 容器,windows-latest
用于 Windows 容器)。例如:
jobs:
vm:
runs-on: ubuntu-latest
steps:
- run: |
echo This job does not specify a container.
echo It runs directly on the virtual machine.
name: Run on VM
container:
runs-on: ubuntu-latest
container: node:10.16-jessie
steps:
- run: |
echo This job does specify a container.
echo It runs in the container instead of the VM.
name: Run in container
当我创建 GitHub Actions 工作流程文件时,示例 YAML 文件包含 runs-on: ubuntu-latest
。 According to the docs,我只有 Ubuntu、Windows Server 和 macOS X 几个版本之间的选项。
我认为 GitHub 操作在 Docker 中运行。如何选择我的 Docker 图片?
工作(作为工作流程的一部分)运行在虚拟机中。您选择一种环境 provided by them(例如 ubuntu-latest
或 windows-2019
)。
一项工作由一个或多个步骤组成。一个步骤可能是一个简单的 shell 命令,使用 运行。但也可能是 action,using uses
name: CI
on: [push]
jobs:
myjob:
runs-on: ubuntu-18.04 # linux required if you want to use docker
steps:
# Those steps are executed directly on the VM
- run: ls /
- run: echo $HOME
- name: Add a file
run: touch $HOME/stuff.txt
# Those steps are actions, which may run inside a container
- uses: actions/checkout@v1
- uses: ./.github/actions/my-action
- uses: docker://continuumio/anaconda3:2019.07
run: <COMMAND>
用OS 的shell执行命令
uses: actions/checkout@v1
运行s 存储库checkout
(https://github.com/actions/checkout)中用户/组织actions
的操作,主要版本 1uses: ./.github/actions/my-action
运行s 这个路径下你自己的仓库中定义的动作uses: docker://continuumio/anaconda3:2019.07
运行来自用户/组织continuumio
、版本2019.07
的anaconda3
图片来自 Docker 中心(https://hub.docker.com/r/continuumio/anaconda3)
请记住,如果要使用 Docker,请将 need to select a linux distribution 作为环境。
还应注意,有一个 container
选项,允许您 运行 任何通常 运行 在主机上 运行 的步骤在容器内:https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer
GitHub 操作提供虚拟机 - 如您所述,Ubuntu、Windows 或 macOS - 以及 运行 您在其中的工作流程。您 可以 然后使用该虚拟机 运行 容器内的工作流。
使用 the container
specifier 到 运行 容器内的一个步骤。请务必将 runs-on
指定为容器的适当主机环境(ubuntu-latest
用于 Linux 容器,windows-latest
用于 Windows 容器)。例如:
jobs:
vm:
runs-on: ubuntu-latest
steps:
- run: |
echo This job does not specify a container.
echo It runs directly on the virtual machine.
name: Run on VM
container:
runs-on: ubuntu-latest
container: node:10.16-jessie
steps:
- run: |
echo This job does specify a container.
echo It runs in the container instead of the VM.
name: Run in container