Sign inSign up

gemcook/sls

By gemcook

Updated about 8 years ago

Serverless Framework Build & Deploy Image

Image
0

2.2K

gemcook/sls repository overview

# multi-stage buildを使う
# golangからnodeイメージにgoバイナリを移すほうが簡単
FROM golang:@@GO_VERSION@@-alpine as gobuilder

FROM node:@@NODE_VERSION@@-alpine

ENV SLS_VERSION=@@SLS_VERSION@@

# golangから必要なものを取得
COPY --from=gobuilder /usr/local/go /usr/local/go

# CI用コマンドの追加
RUN apk add --no-cache jq git make ca-certificates

# PythonとAWS-CLIのインストール
# from frolvlad/alpine-python3
RUN apk add --no-cache python3 && \
    python3 -m ensurepip && \
    rm -r /usr/lib/python*/ensurepip && \
    pip3 install --upgrade pip setuptools && \
    if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
    if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
    rm -r /root/.cache && \
    pip3 install awscli

# 環境変数の設定
# yarn global binのPATHを通す
ENV TZ=Asia/Tokyo
ENV HOME=/home/node
ENV PATH=/home/node/.yarn/bin:$PATH

# 一般ユーザに切り替え
USER node
WORKDIR $HOME

# Go用の環境変数のセット
ENV GOPATH=/home/node/go 
ENV PATH=$GOPATH/bin:/usr/local/go/bin:$PATH
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin"

# Go言語ビルド用ツールインストール
RUN go get -u github.com/golang/dep/cmd/dep && \
    go get -u github.com/golang/lint/golint

# serverlessコマンド追加
RUN yarn global add serverless@${SLS_VERSION}

CMD ["/bin/sh"]

Tag summary

Content type

Image

Digest

Size

346.8 MB

Last updated

about 8 years ago

docker pull gemcook/sls