diff --git a/pkg/languages/languages.go b/pkg/languages/languages.go index 53e03255..f563012c 100644 --- a/pkg/languages/languages.go +++ b/pkg/languages/languages.go @@ -53,7 +53,7 @@ func (l *Languages) CreateDockerfileForLanguage(lang string, langConfig *config. return fmt.Errorf("create dockerfile for language: %w", err) } - if err := osutil.CopyDir(l.dockerfileTemplates, srcDir, l.dest, langConfig, templateWriter); err != nil { + if err := osutil.CopyDirWithTemplates(l.dockerfileTemplates, srcDir, l.dest, langConfig, templateWriter); err != nil { return err } diff --git a/template/dockerfiles/clojure/Dockerfile b/template/dockerfiles/clojure/Dockerfile index 7adf0f73..76957ddc 100644 --- a/template/dockerfiles/clojure/Dockerfile +++ b/template/dockerfiles/clojure/Dockerfile @@ -3,11 +3,11 @@ COPY . /usr/src/app WORKDIR /usr/src/app RUN lein ring uberjar -FROM eclipse-temurin:{{VERSION}} +FROM eclipse-temurin:{{.VERSION}} RUN apk update && apk upgrade && apk add bash -ENV PORT {{PORT}} -EXPOSE {{PORT}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} COPY --from=BUILD /usr/src/app/target/*.jar /opt/ WORKDIR /opt CMD ["/bin/bash", "-c", "find -type f -name '*standalone.jar' | xargs java -jar"] diff --git a/template/dockerfiles/csharp/Dockerfile b/template/dockerfiles/csharp/Dockerfile index a762469e..992ad424 100644 --- a/template/dockerfiles/csharp/Dockerfile +++ b/template/dockerfiles/csharp/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:{{VERSION}} AS builder +FROM mcr.microsoft.com/dotnet/sdk:{{.VERSION}} AS builder WORKDIR /app # caches restore result by copying csproj file separately @@ -11,11 +11,11 @@ RUN sed -n 's:.*\(.*\).*:\1:p' *.csproj > __assembl RUN if [ ! -s __assemblyname ]; then filename=$(ls *.csproj); echo ${filename%.*} > __assemblyname; fi # Stage 2 -FROM mcr.microsoft.com/dotnet/aspnet:{{VERSION}} +FROM mcr.microsoft.com/dotnet/aspnet:{{.VERSION}} WORKDIR /app COPY --from=builder /app . -ENV PORT {{PORT}} -EXPOSE {{PORT}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} -ENTRYPOINT dotnet $(cat /app/__assemblyname).dll --urls "http://*:{{PORT}}" +ENTRYPOINT dotnet $(cat /app/__assemblyname).dll --urls "http://*:{{.PORT}}" diff --git a/template/dockerfiles/erlang/Dockerfile b/template/dockerfiles/erlang/Dockerfile index 30f3e9c1..2245dfe5 100644 --- a/template/dockerfiles/erlang/Dockerfile +++ b/template/dockerfiles/erlang/Dockerfile @@ -1,4 +1,4 @@ -FROM erlang:{{BUILDERVERSION}} as builder +FROM erlang:{{.BUILDERVERSION}} as builder RUN apk add --update tar curl git bash make libc-dev gcc g++ && \ rm -rf /var/cache/apk/* @@ -20,18 +20,18 @@ RUN tar -zxvf /usr/src/app/_build/prod/rel/*/*.tar.gz -C /opt/rel RUN relname=$(ls _build/prod/rel) ; echo $relname > /opt/rel/__relname -FROM alpine:{{VERSION}} +FROM alpine:{{.VERSION}} RUN apk add --no-cache openssl-dev ncurses libstdc++ libgcc WORKDIR /opt/rel ENV RELX_REPLACE_OS_VARS true -ENV HTTP_PORT {{PORT}} +ENV HTTP_PORT {{.PORT}} COPY --from=builder /opt/rel /opt/rel -EXPOSE {{PORT}} {{PORT}} +EXPOSE {{.PORT}} {{.PORT}} RUN ln -s /opt/rel/bin/$(cat /opt/rel/__relname) /opt/rel/bin/start_script ENTRYPOINT ["/opt/rel/bin/start_script"] diff --git a/template/dockerfiles/go/Dockerfile b/template/dockerfiles/go/Dockerfile index 6975ca6c..aa359511 100644 --- a/template/dockerfiles/go/Dockerfile +++ b/template/dockerfiles/go/Dockerfile @@ -1,6 +1,6 @@ -FROM golang:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM golang:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} WORKDIR /go/src/app COPY . . diff --git a/template/dockerfiles/gomodule/Dockerfile b/template/dockerfiles/gomodule/Dockerfile index 2ee0e11f..57c1f48e 100644 --- a/template/dockerfiles/gomodule/Dockerfile +++ b/template/dockerfiles/gomodule/Dockerfile @@ -1,6 +1,6 @@ -FROM golang:{{VERSION}} AS builder -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM golang:{{.VERSION}} AS builder +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} WORKDIR /build COPY go.mod go.sum ./ diff --git a/template/dockerfiles/gradle/Dockerfile b/template/dockerfiles/gradle/Dockerfile index 754d1a98..79d9acca 100644 --- a/template/dockerfiles/gradle/Dockerfile +++ b/template/dockerfiles/gradle/Dockerfile @@ -1,11 +1,11 @@ -FROM gradle:{{BUILDERVERSION}} as BUILD +FROM gradle:{{.BUILDERVERSION}} as BUILD COPY --chown=gradle:gradle . /project RUN gradle -i -s -b /project/build.gradle clean build -FROM eclipse-temurin:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM eclipse-temurin:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} COPY --from=BUILD /project/build/libs/* /opt/ WORKDIR /opt/ diff --git a/template/dockerfiles/gradlew/Dockerfile b/template/dockerfiles/gradlew/Dockerfile index 4522aa0e..0a09d128 100644 --- a/template/dockerfiles/gradlew/Dockerfile +++ b/template/dockerfiles/gradlew/Dockerfile @@ -1,4 +1,4 @@ -FROM gradle:{{BUILDERVERSION}} as BUILD +FROM gradle:{{.BUILDERVERSION}} as BUILD COPY --chown=gradle:gradle . /project COPY gradlew gradlew @@ -7,9 +7,9 @@ RUN chmod +x gradle/wrapper RUN chmod +x gradlew RUN ./gradlew -i -s -b /project/build.gradle clean build -FROM eclipse-temurin:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM eclipse-temurin:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} COPY --from=BUILD /project/build/libs/* /opt/ WORKDIR /opt/ diff --git a/template/dockerfiles/java/Dockerfile b/template/dockerfiles/java/Dockerfile index d1590ac7..5ab34fdc 100644 --- a/template/dockerfiles/java/Dockerfile +++ b/template/dockerfiles/java/Dockerfile @@ -1,11 +1,11 @@ -FROM maven:{{BUILDERVERSION}} as BUILD +FROM maven:{{.BUILDERVERSION}} as BUILD COPY . /usr/src/app RUN mvn --batch-mode -f /usr/src/app/pom.xml clean package -FROM eclipse-temurin:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM eclipse-temurin:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} COPY --from=BUILD /usr/src/app/target /opt/target WORKDIR /opt/target diff --git a/template/dockerfiles/javascript/Dockerfile b/template/dockerfiles/javascript/Dockerfile index f4fbc5f5..96c7c168 100644 --- a/template/dockerfiles/javascript/Dockerfile +++ b/template/dockerfiles/javascript/Dockerfile @@ -1,6 +1,6 @@ -FROM node:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM node:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} RUN mkdir -p /usr/src/app WORKDIR /usr/src/app diff --git a/template/dockerfiles/php/Dockerfile b/template/dockerfiles/php/Dockerfile index 7d61835f..00b7c9fe 100644 --- a/template/dockerfiles/php/Dockerfile +++ b/template/dockerfiles/php/Dockerfile @@ -1,8 +1,8 @@ -FROM composer:{{BUILDERVERSION}} AS build-env +FROM composer:{{.BUILDERVERSION}} AS build-env COPY . /app RUN cd /app && composer install -FROM php:{{VERSION}} +FROM php:{{.VERSION}} ENV PORT 80 EXPOSE 80 COPY --from=build-env /app /var/www/html diff --git a/template/dockerfiles/python/Dockerfile b/template/dockerfiles/python/Dockerfile index 9516b0c4..87e0aa67 100644 --- a/template/dockerfiles/python/Dockerfile +++ b/template/dockerfiles/python/Dockerfile @@ -1,6 +1,6 @@ -FROM python:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM python:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} WORKDIR /usr/src/app COPY requirements.txt ./ @@ -9,4 +9,4 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . ENTRYPOINT ["python"] -CMD ["{{ENTRYPOINT}}"] \ No newline at end of file +CMD ["{{.ENTRYPOINT}}"] \ No newline at end of file diff --git a/template/dockerfiles/ruby/Dockerfile b/template/dockerfiles/ruby/Dockerfile index 48dafca1..5ffdc260 100644 --- a/template/dockerfiles/ruby/Dockerfile +++ b/template/dockerfiles/ruby/Dockerfile @@ -1,6 +1,6 @@ -FROM ruby:{{VERSION}} -ENV PORT {{PORT}} -EXPOSE {{PORT}} +FROM ruby:{{.VERSION}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} RUN bundle config --global frozen 1 WORKDIR /usr/src/app diff --git a/template/dockerfiles/rust/Dockerfile b/template/dockerfiles/rust/Dockerfile index dfb4cb63..86827ea2 100644 --- a/template/dockerfiles/rust/Dockerfile +++ b/template/dockerfiles/rust/Dockerfile @@ -1,10 +1,10 @@ -FROM rust:{{VERSION}} +FROM rust:{{.VERSION}} WORKDIR /usr/src/app COPY . /usr/src/app RUN cargo build -ENV PORT {{PORT}} -EXPOSE {{PORT}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} CMD ["cargo", "run", "-q"] diff --git a/template/dockerfiles/swift/Dockerfile b/template/dockerfiles/swift/Dockerfile index 2bb7f5ae..68594e78 100644 --- a/template/dockerfiles/swift/Dockerfile +++ b/template/dockerfiles/swift/Dockerfile @@ -1,11 +1,11 @@ -FROM swift:{{VERSION}} +FROM swift:{{.VERSION}} WORKDIR /src COPY . /src RUN apt-get update && apt-get install -y sudo openssl libssl-dev libcurl4-openssl-dev RUN swift build -c release -ENV PORT {{PORT}} -EXPOSE {{PORT}} +ENV PORT {{.PORT}} +EXPOSE {{.PORT}} CMD ["swift", "run"]