docker镜像中集成act工具

# 使用官方 Ubuntu 22.04 基础镜像
FROM ubuntu:22.04

# 安装系统依赖并清理缓存
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        curl \
        git \
        make \
        gcc \
        g++ \
        libssl-dev \
        pkg-config \
    && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 设置 ACT 版本变量(便于后续更新)
ARG ACT_VERSION="v0.2.65"

# 下载并安装 ACT
RUN curl -LO "https://github.com/nektos/act/releases/download/${ACT_VERSION}/act_Linux_x86_64.tar.gz" && \
    tar -xzf act_Linux_x86_64.tar.gz && \
    mv act /usr/local/bin/ && \
    chmod +x /usr/local/bin/act && \
    rm act_Linux_x86_64.tar.gz

# 验证安装
CMD ["act", "--version"]

优化说明:

  1. 结构分层

    • 使用清晰的注释划分功能区块
    • 每个主要步骤有明确注释说明
  2. 依赖管理

    --no-install-recommends # 避免安装非必要依赖
    apt-get clean && rm -rf /var/lib/apt/lists/* # 合并清理命令
    
  3. 版本维护

    ARG ACT_VERSION="v0.2.65" # 集中管理版本号
    "https://...download/${ACT_VERSION}/..." # 动态引用版本
    
  4. 命令优化

    • 使用 && \ 连接多行命令,减少镜像层数
    • 引号包裹 URL 防止特殊字符问题
    • 删除中间文件 (rm act_Linux_x86_64.tar.gz)
  5. 构建建议

    # 构建时指定版本(可选)
    docker build --build-arg ACT_VERSION=v0.2.66 -t my-act-image .
    
    # 验证功能
    docker run --rm my-act-image
    

最佳实践扩展:

# 可添加的优化项:

# 1. 时区设置
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 2. 非root用户运行
RUN useradd -m actuser
USER actuser

# 3. 工作目录设置
WORKDIR /workspace

注意:当 ACT 更新时,只需修改 ACT_VERSION 参数值即可升级,无需改动其他代码。

你可能感兴趣的:(linux,docker,容器,运维)