From 0a51b75c4892c6d4f2612fc9b0b8926f14654c02 Mon Sep 17 00:00:00 2001 From: Keijo Raamat Date: Tue, 3 Aug 2021 13:29:12 +0300 Subject: [PATCH] Added dockerimage with all files and build pipeline --- .github/workflows/build_image.yml | 45 ++++++++++++++++++++++++++++++ Dockerfile.generic | 46 +++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 .github/workflows/build_image.yml create mode 100644 Dockerfile.generic diff --git a/.github/workflows/build_image.yml b/.github/workflows/build_image.yml new file mode 100644 index 0000000..d383ef7 --- /dev/null +++ b/.github/workflows/build_image.yml @@ -0,0 +1,45 @@ +name: build and push image + +on: + push: + tags: + - "v*.*.*" + +jobs: + + build: + + runs-on: ubuntu-20.04 + + steps: + + - uses: actions/checkout@v2 + + - name: Set image tag + run: | + LATEST_GIT_TAG=$(git describe --tags --abbrev=0) + echo "TAG=ghcr.io/internetee/epp_proxy:$LATEST_GIT_TAG" >> $GITHUB_ENV + + - name: Build image + env: + KEY_BASE: ${{ secrets.KEY_BASE}} + run: | + docker build -t $TAG -f Dockerfile.generic . + + - name: Push image to gh container registry + env: + PASSWORD: ${{ secrets.GHCR }} + run: | + echo $PASSWORD | docker login ghcr.io -u eisbot --password-stdin + docker push $TAG + + - name: Notify developers + timeout-minutes: 1 + env: + NOTIFICATION_URL: ${{ secrets.NOTIFICATION_URL}} + run: | + curl -i -X POST --data-urlencode 'payload={ + "text": "##### Build of epp proxy image has been succesful :tada:\n + Run: docker pull '$TAG' + " + }' $NOTIFICATION_URL \ No newline at end of file diff --git a/Dockerfile.generic b/Dockerfile.generic new file mode 100644 index 0000000..0dd48ce --- /dev/null +++ b/Dockerfile.generic @@ -0,0 +1,46 @@ +FROM debian:buster-slim +LABEL org.opencontainers.image.source=https://github.com/internetee/epp_proxy + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +COPY ./docker/apt/sources.list /etc/apt/ + +RUN apt-get update && apt-get install -y \ + wget \ + git \ + build-essential=* \ + libncurses5-dev=* \ + automake=* \ + autoconf=* \ + curl=* \ + ca-certificates=* \ + libssl-dev=* \ + libreadline-dev=* \ + libdpkg-perl=* \ + liberror-perl=* \ + libc6=* \ + libc-dev \ + perl=* \ + procps=* \ + inotify-tools=* \ + libssl1.1=* \ + perl-base=* \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN git clone https://github.com/asdf-vm/asdf.git "$HOME"/.asdf && \ + echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.bashrc && \ + echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.profile + +ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin" + +RUN mkdir -p /opt/erlang/epp_proxy +WORKDIR /opt/erlang/epp_proxy + +COPY . . +RUN asdf plugin-add erlang +RUN asdf install +RUN asdf global erlang $(grep erlang .tool-versions | cut -d' ' -f2) +RUN asdf plugin-add ruby +RUN asdf plugin-add rebar +RUN asdf install