gpt4 book ai didi

docker - Github Actions - 创建快速运行的 Action

转载 作者:行者123 更新时间:2023-12-01 23:37:39 27 4
gpt4 key购买 nike

我正在创建一个 github docker 容器操作,其中涉及许多依赖项 python、node、pypi 包和 npm 包。为了加快操作速度,我将大量依赖项安装从入口点移至 Dockerfile。现在我的 Action 运行得非常快,但每次构建 Action 都需要很长时间。

有没有办法可以预先构建操作,或者我是否需要将我的操作 Docker 镜像发布到某个存储库并从我的自定义镜像提供数据?

作为引用,这是我的 Dockerfile。

FROM python:3

LABEL "com.github.actions.name"="kedro-action"
LABEL "com.github.actions.description"="A Github Action to run kedro commands"
LABEL "com.github.actions.icon"="it-branch"
LABEL "com.github.actions.color"="black"

LABEL "repository"="http://github.com/WaylonWalker/kedro-action"
LABEL "maintainer"="Waylon Walker <waylon@waylonwalker.com>"

RUN apt-get update
RUN apt-get install -y jq

ENV PYENV_ROOT /root/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

### INSTALL PYTHON ###
RUN pyenv install 3.7.6
RUN pyenv global 3.7.6
RUN python -m pip install --upgrade pip
RUN pip install kedro
RUN pip install kedro-viz

### INSTALL NODEJS ###
RUN apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
RUN apt-get install nodejs -y

### CLONE KEDRO-STATIC-VIZ ###
RUN mkdir ~/build_dir && cd ~/build_dir
RUN git clone https://github.com/WaylonWalker/kedro-static-viz.git
RUN cd kedro-static-viz
RUN npm install -g gatsby-cli
RUN cd kedro-static-viz && npm install && npm audit fix


ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

最佳答案

您可以为您的操作预构建 Docker 镜像,然后在 action.yml 文件中指定预构建的镜像而不是 Dockerfile。请参阅文档 here .

这是我的一个操作的示例,即 prebuilt here .

runs:
using: 'docker'
image: 'docker://peterevans/dockerhub-description:2.1.0'

关于docker - Github Actions - 创建快速运行的 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675844/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com