- 本示例以一个github上的开源项目为例
- 首先创建流水线,参考:创建流水线,之后按照下面的步骤配置执行流水线
一、配置【代码获取】

- 代码来源
选择Git - git地址
https://github.com/mlogclub/bbs-go.git - 分支
master
详细配置参考:代码获取
二、删除【代码编译】
- 代码将在镜像构建的过程中编译,不需要【代码编译】步骤

三、配置【镜像构建】


- 镜像类型
选择【自定义】 - 基础镜像仓库
默认 - Dockerfile
FROM golang:1.24 AS server_builder
ENV APP_HOME=/code/bbs-go/server
WORKDIR "$APP_HOME"
COPY bbs-go/server ./
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN go mod download
RUN go get ./...
RUN CGO_ENABLED=0 go build -v -o bbs-go main.go && chmod +x bbs-go
# site builder
FROM node:20.14.0 AS site_builder
ENV APP_HOME=/code/bbs-go/site
WORKDIR "$APP_HOME"
COPY bbs-go/site ./
RUN npm install -g pnpm --registry=https://registry.npmmirror.com
RUN pnpm install --registry=https://registry.npmmirror.com
RUN npm install -g pnpm
RUN pnpm install
RUN pnpm build
# admin builder
FROM node:20.14.0 AS admin_builder
ENV APP_HOME=/code/bbs-go/admin
WORKDIR "$APP_HOME"
COPY bbs-go/admin ./
RUN npm install -g pnpm --registry=https://registry.npmmirror.com
RUN pnpm install --registry=https://registry.npmmirror.com
RUN npm install -g pnpm
RUN pnpm install
RUN pnpm build
# run
FROM node:20.14.0
ENV APP_HOME=/app/bbs-go
WORKDIR "$APP_HOME"
COPY --from=server_builder /code/bbs-go/server/bbs-go ./server/bbs-go
COPY --from=server_builder /code/bbs-go/server/migrations ./server/migrations
COPY --from=server_builder /code/bbs-go/server/locales ./server/locales
COPY --from=site_builder /code/bbs-go/site/.output ./site/.output
COPY --from=site_builder /code/bbs-go/site/node_modules ./site/node_modules
COPY --from=admin_builder /code/bbs-go/admin/dist ./server/admin
COPY bbs-go/start.sh ${APP_HOME}/start.sh
RUN chmod +x ${APP_HOME}/start.sh
EXPOSE 8082 3000
CMD ["./start.sh"]
- 镜像名称
默认 - 镜像版本号
默认
详细配置参考:镜像构建
四、配置【镜像同步】

- 源镜像
选择【镜像构建】步骤的镜像

- 源镜像仓库
默认 - 目标镜像仓库
默认 - 镜像保留个数
默认
详细配置参考:镜像同步
五、点击【执行流水线】

- 开始执行后页面会展示日志

六、完成
- 执行完成后,日志会显示”xxxx已部署至资源xxxx”

作者:陈晓东 创建时间:2021-05-31 20:17
最后编辑:陈晓东 更新时间:2026-03-04 17:23
最后编辑:陈晓东 更新时间:2026-03-04 17:23