diff --git a/Dockerfile b/Dockerfile index d8174c4..7245e53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,24 @@ -FROM alpine +# build stage +FROM ubuntu:18.04 AS build +ENV DEBIAN_FRONTEND=noninteractive TZ=Europe/Berlin -RUN apk update && apk add bash +RUN apt-get update && \ + apt-get -y install --no-install-recommends g++ && \ + rm -rf /var/lib/apt/lists/* + +COPY main.cpp /app/main.cpp +WORKDIR /app +RUN g++ -o main main.cpp + +# run stage +FROM ubuntu:18.04 AS run +ENV DEBIAN_FRONTEND=noninteractive TZ=Europe/Berlin + +RUN apt-get update && \ + apt-get -y install --no-install-recommends file && \ + rm -rf /var/lib/apt/lists/* + +COPY --from=build /app/main /app/main COPY run.sh /app/run.sh RUN chmod +x /app/run.sh - CMD ["/app/run.sh"] \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..db4ef15 --- /dev/null +++ b/main.cpp @@ -0,0 +1,14 @@ +#include +#include + +using namespace std; + +struct utsname unameData; + +int main() +{ + cout << "Hello from binary!" << endl; + uname(&unameData); + printf("Running on %s, %s\n", unameData.sysname, unameData.machine); + return 0; +} \ No newline at end of file diff --git a/run.sh b/run.sh index b3ee2ee..4d77ee3 100644 --- a/run.sh +++ b/run.sh @@ -1,3 +1,6 @@ #!/bin/bash -echo "Hello CI!" \ No newline at end of file +echo "Hello from entrypoint!" +file /app/main +ldd /app/main +/app/main \ No newline at end of file