Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b46921708c | ||
|
|
42b239bb51 |
@@ -46,7 +46,7 @@ spec:
|
||||
serviceAccountName: fission-console
|
||||
containers:
|
||||
- name: console
|
||||
image: naeel/fission-console:v0.8.12
|
||||
image: naeel/fission-console:v0.8.13
|
||||
ports:
|
||||
- containerPort: 8090
|
||||
env:
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ type langEnvDef struct {
|
||||
var langEnvMap = map[string]langEnvDef{
|
||||
"python": {Image: "ghcr.io/fission/python-env"},
|
||||
"nodejs": {Image: "ghcr.io/fission/node-env"},
|
||||
"go": {Image: "ghcr.io/fission/go-env", BuilderImage: "ghcr.io/fission/go-builder"},
|
||||
"go": {Image: "ghcr.io/fission/go-env", BuilderImage: "naeel/go-builder-fast:v1"},
|
||||
"php": {Image: "ghcr.io/fission/php-env"},
|
||||
"ruby": {Image: "ghcr.io/fission/ruby-env"},
|
||||
"perl": {Image: "ghcr.io/fission/perl-env", Version: 1},
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
ARG GO_VERSION=1.25
|
||||
FROM ghcr.io/fission/builder AS fission-builder
|
||||
FROM golang:${GO_VERSION}
|
||||
|
||||
ENV GOPATH=/usr
|
||||
ENV GO111MODULE=on
|
||||
ENV GOTOOLCHAIN=local
|
||||
|
||||
WORKDIR ${GOPATH}
|
||||
|
||||
COPY --from=fission-builder /builder /builder
|
||||
|
||||
# Prebuild stdlib для -buildmode=plugin через dummy plugin.
|
||||
# Go компилирует всю stdlib с plugin-флагами и кладёт в /root/.cache/go-build.
|
||||
# Следующие сборки найдут кэш и пропустят stdlib → ~10-30 сек вместо 4 мин.
|
||||
RUN mkdir -p /tmp/prebuild && \
|
||||
printf 'package main\n\nimport (\n\t"fmt"\n\t"net/http"\n)\n\nfunc Handler(w http.ResponseWriter, r *http.Request) {\n\tfmt.Fprintf(w, "ok")\n}\n' \
|
||||
> /tmp/prebuild/main.go && \
|
||||
cd /tmp/prebuild && \
|
||||
go mod init prebuild && \
|
||||
go build -buildmode=plugin -o /tmp/prebuild.so . && \
|
||||
rm -rf /tmp/prebuild /tmp/prebuild.so
|
||||
|
||||
ADD build.sh /usr/local/bin/build
|
||||
RUN chmod +x /usr/local/bin/build
|
||||
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
set -eux
|
||||
|
||||
srcDir=${GOPATH}/src/$(basename ${SRC_PKG})
|
||||
trap "rm -rf ${srcDir}" EXIT
|
||||
|
||||
version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; }
|
||||
|
||||
if [ -d ${SRC_PKG} ]; then
|
||||
echo "Building in directory ${srcDir}"
|
||||
ln -sf ${SRC_PKG} ${srcDir}
|
||||
elif [ -f ${SRC_PKG} ]; then
|
||||
echo "Building file ${SRC_PKG} in ${srcDir}"
|
||||
mkdir -p ${srcDir}
|
||||
cp ${SRC_PKG} ${srcDir}/function.go
|
||||
fi
|
||||
|
||||
cd ${srcDir}
|
||||
|
||||
if [ -f "go.mod" ]; then
|
||||
go mod download
|
||||
else
|
||||
export GO111MODULE="on"
|
||||
go mod init
|
||||
go mod tidy
|
||||
fi
|
||||
|
||||
GOFLAGS="-buildmode=plugin"
|
||||
|
||||
if [ -d "vendor" ] && version_ge ${GOLANG_VERSION} "1.12"; then
|
||||
GOFLAGS="${GOFLAGS} -mod=vendor"
|
||||
fi
|
||||
|
||||
go build ${GOFLAGS} -o ${DEPLOY_PKG} .
|
||||
Reference in New Issue
Block a user