From a6fd44663c6785fb14c6d0def32f1d7d4c3d635f Mon Sep 17 00:00:00 2001 From: PondiB Date: Thu, 27 Apr 2023 15:41:14 +0200 Subject: [PATCH] CI to update an image on dockerhub --- ...compose.yml => docker-compose-develop.yml} | 4 +-- .github/workflows/docker-compose-main.yml | 29 +++++++++++++++++++ Dockerfile | 25 ++++++++++------ 3 files changed, 47 insertions(+), 11 deletions(-) rename .github/workflows/{docker-compose.yml => docker-compose-develop.yml} (76%) create mode 100644 .github/workflows/docker-compose-main.yml diff --git a/.github/workflows/docker-compose.yml b/.github/workflows/docker-compose-develop.yml similarity index 76% rename from .github/workflows/docker-compose.yml rename to .github/workflows/docker-compose-develop.yml index 795eb5d..078d628 100644 --- a/.github/workflows/docker-compose.yml +++ b/.github/workflows/docker-compose-develop.yml @@ -1,9 +1,9 @@ name: docker-compose-workflow on: push: - branches: [ "main", "develop" ] + branches: [ "develop" ] pull_request: - branches: [ "main", "develop" ] + branches: [ "develop" ] jobs: test: diff --git a/.github/workflows/docker-compose-main.yml b/.github/workflows/docker-compose-main.yml new file mode 100644 index 0000000..60954ef --- /dev/null +++ b/.github/workflows/docker-compose-main.yml @@ -0,0 +1,29 @@ +name: docker-compose-workflow +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + test: + runs-on: ubuntu-20.04 + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: brianpondi/openeocubes:latest + + - name: Run docker-compose + run: docker-compose up -d diff --git a/Dockerfile b/Dockerfile index 404ff72..44522db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,30 +1,37 @@ -FROM --platform=linux/amd64 rocker/r-ver:4.1 +FROM --platform=linux/amd64 ubuntu:bionic RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common cmake g++ git supervisor wget ENV TZ=Etc/UTC RUN apt-get install -y libnetcdf-dev libcurl4-openssl-dev libcpprest-dev doxygen graphviz libsqlite3-dev libboost-all-dev RUN add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 314DF160 && apt-get update && apt-get install -y libproj-dev libgdal-dev +# add key for R repository +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 -# install R and necessary packages -#RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 -#RUN add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/' -#RUN apt update -q && DEBIAN_FRONTEND=noninteractive apt install -q -y r-base -RUN Rscript -e "install.packages(c('devtools'))" +# add R repository +RUN add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran40/' +# install R +RUN apt update -q && DEBIAN_FRONTEND=noninteractive apt install -q -y r-base -RUN mkdir -p /opt/dockerfiles/ && mkdir -p /var/openeo/workspace/ && mkdir -p /var/openeo/workspace/data/ +# install devtools package +RUN Rscript -e "install.packages('devtools')" +# install gdalcubes package RUN Rscript -e "install.packages('gdalcubes')" +# install other necessary packages RUN apt-get install -y libsodium-dev libudunits2-dev RUN Rscript -e "install.packages(c('plumber', 'useful', 'ids', 'R6', 'sf', 'rstac','bfast'))" -COPY ./ /opt/dockerfiles/ +# create directories +RUN mkdir -p /opt/dockerfiles/ && mkdir -p /var/openeo/workspace/ && mkdir -p /var/openeo/workspace/data/ +# install packages from local directory +COPY ./ /opt/dockerfiles/ RUN Rscript -e "remotes::install_local('/opt/dockerfiles',dependencies=TRUE)" # cmd or entrypoint for startup CMD ["R", "-q", "--no-save", "-f /opt/dockerfiles/Dockerfiles/start.R"] -EXPOSE 8000 +EXPOSE 8000 \ No newline at end of file