编辑文件 Dockerfile
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed

This commit is contained in:
xinian
2026-03-28 13:29:42 +08:00
committed by cnb
parent 076e021752
commit 6af81c90ca

View File

@@ -2,58 +2,65 @@
FROM debian:bookworm
ENV GO_VERSION=1.25.0
ENV GOPATH=/root/go
ENV PATH=${PATH}:${GOPATH}/bin
ENV LC_ALL=zh_CN.UTF-8
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN.UTF-8
RUN apt update &&\
apt install -y wget rsync unzip openssh-server vim lsof git git-lfs locales locales-all libgit2-1.5 libgit2-dev net-tools jq curl sudo lsb-release &&\
# 安装系统依赖一次性安装无冗余
RUN apt update && \
apt install -y --no-install-recommends \
wget rsync unzip openssh-server vim lsof git git-lfs \
locales libgit2-1.5 libgit2-dev net-tools jq curl \
ca-certificates gnupg && \
rm -rf /var/lib/apt/lists/*
# install golang
RUN curl -fsSLO https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz &&\
rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz &&\
ln -sf /usr/local/go/bin/go /usr/bin/go &&\
ln -sf /usr/local/go/bin/gofmt /usr/bin/gofmt &&\
curl -sSfL https://raw.github.com/golangci/golangci-lint/master/install.sh | sh -s v1.54.2 &&\
# 安装 Golang
RUN curl -fsSLO https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz && \
rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \
ln -sf /usr/local/go/bin/go /usr/bin/go && \
ln -sf /usr/local/go/bin/gofmt /usr/bin/gofmt && \
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.54.2 && \
rm -rf go${GO_VERSION}.linux-amd64.tar.gz
# install code-server
# 安装 code-server
RUN curl -fsSL https://code-server.dev/install.sh | sh
RUN code-server --install-extension dbaeumer.vscode-eslint &&\
code-server --install-extension pinage404.git-extension-pack &&\
code-server --install-extension redhat.vscode-yaml &&\
code-server --install-extension esbent.prettier-vscode &&\
code-server --install-extension golang.go &&\
code-server --install-extension eamodio.gitlens &&\
code-server --install-extension waderyan.gitblame &&\
code-server --install-extension donjayamanne.githistory &&\
code-server --install-extension mhutchie.git-graph &&\
code-server --install-extension ms-azuretools.vscode-docker &&\
code-server --install-extension PKief.material-icon-theme &&\
code-server --install-extension tencent-cloud.coding-copilot &&\
echo done
# install Go Tools
ENV GOPATH /root/go
ENV PATH="${PATH}:${GOPATH}/bin"
# 安装 code-server 插件
RUN code-server --install-extension dbaeumer.vscode-eslint && \
code-server --install-extension pinage404.git-extension-pack && \
code-server --install-extension redhat.vscode-yaml && \
code-server --install-extension esbenp.prettier-vscode && \
code-server --install-extension golang.go && \
code-server --install-extension eamodio.gitlens && \
code-server --install-extension waderyan.gitblame && \
code-server --install-extension donjayamanne.githistory && \
code-server --install-extension mhutchie.git-graph && \
code-server --install-extension ms-azuretools.vscode-docker && \
code-server --install-extension PKief.material-icon-theme
RUN go install -v golang.org/x/tools/gopls@latest
RUN go install -v github.com/cweill/gotests/gotests@latest
RUN go install -v github.com/josharian/impl@latest
RUN go install -v github.com/haya14busa/goplay/cmd/goplay@latest
RUN go install -v github.com/go-delve/delve/cmd/dlv@latest
# install goreleaser
RUN go install github.com/goreleaser/goreleaser/v2@latest
# 安装 Go 工具链
RUN go install -v golang.org/x/tools/gopls@latest && \
go install -v github.com/cweill/gotests/gotests@latest && \
go install -v github.com/josharian/impl@latest && \
go install -v github.com/haya14busa/goplay/cmd/goplay@latest && \
go install -v github.com/go-delve/delve/cmd/dlv@latest && \
go install github.com/goreleaser/goreleaser/v2@latest
# ===================== 以下为新增安全安装 codex不影响原有插件 =====================
RUN apt update && \
apt install -y nodejs npm && \
# 安装 Node.js 22修复旧版node无法安装codex的问题
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg && \
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt update && \
apt install -y nodejs && \
npm config set registry https://registry.npmmirror.com/ && \
npm install -g @openai/codex && \
rm -rf /var/lib/apt/lists/*
# 创建 codex 配置目录
# 配置 Codex
RUN mkdir -p /root/.codex
# 写入 config.toml不变动任何 vscode 相关路径
# 写入 config.toml
RUN cat > /root/.codex/config.toml <<'EOF'
model_provider = "OpenAI"
model = "gpt-5.4"
@@ -75,12 +82,5 @@ RUN cat > /root/.codex/auth.json <<'EOF'
}
EOF
# 权限 + 环境变量
RUN chmod 600 /root/.codex/auth.json && \
echo "export OPENAI_API_KEY=sk-E0ZZIFNnD0RkhMC9pT2AGMutz9vNy2VLNrgyyobT5voa81pQ" >> /root/.bashrc && \
echo "export CODEX_API_KEY=sk-E0ZZIFNnD0RkhMC9pT2AGMutz9vNy2VLNrgyyobT5voa81pQ" >> /root/.bashrc
# 语言环境
ENV LC_ALL zh_CN.UTF-8
ENV LANG zh_CN.UTF-8
ENV LANGUAGE zh_CN.UTF-8
# 权限配置
RUN chmod 600 /root/.codex/auth.json