From 1d05eaa957db21fdc13c271689e3073460d350ff Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Mon, 20 Jul 2020 10:03:58 +0100 Subject: [PATCH] Copy docker files/config to root directory --- .circleci/config.yml | 30 +++++++++++++++++- Dockerfile | 6 ++++ Dockerfile.dev | 28 ++++++++++++++++ apps/remix-ide/assets/img/icon.png | Bin 0 -> 9364 bytes .../ci/build_and_publish_docker_images.sh | 2 +- apps/remix-ide/index.html | 2 +- build.yaml | 15 +++++++++ docker-compose.yaml | 18 +++++++++++ workspace.json | 2 +- 9 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 Dockerfile create mode 100644 Dockerfile.dev create mode 100644 apps/remix-ide/assets/img/icon.png create mode 100644 build.yaml create mode 100644 docker-compose.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index ed03e91fe0..f87bfc00e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,7 +34,7 @@ jobs: # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -189,6 +189,29 @@ jobs: - store_artifacts: path: ./apps/remix-ide/reports/screenshots + publish-docker: + docker: + # specify the version you desire here + - image: circleci/node:10.19.0-buster + + # Specify service dependencies here if necessary + # CircleCI maintains a library of pre-built images + # documented at https://circleci.com/docs/2.0/circleci-images/ + resource_class: xlarge + # - image: circleci/mongo:3.4.4 + environment: + - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" + - COMMIT_AUTHOR: "Circle CI" + - FILES_TO_PACKAGE: "apps/remix-ide/assets apps/remix-ide/background.js apps/remix-ide/build apps/remix-ide/icon.png apps/remix-ide/index.html apps/remix-ide/manifest.json apps/remix-ide/README.md apps/remix-ide/soljson.js apps/remix-ide/package.json" + working_directory: ~/remix-project + + steps: + - checkout + - setup_remote_docker + - run: npm install + - run: npm run build + - run: ./apps/remix-ide/ci/build_and_publish_docker_images.sh + deploy-remix-alpha: docker: # specify the version you desire here @@ -235,6 +258,11 @@ workflows: - remix-ide-run-deploy: requires: - remix-libs + - publish-docker: + requires: + - remix-ide-chrome + - remix-ide-firefox + - remix-ide-run-deploy - deploy-remix-live: requires: - remix-ide-chrome diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..7bae0b70ac --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM nginx:alpine +WORKDIR / + +COPY ./temp_publish_docker/ /usr/share/nginx/html/ + +EXPOSE 80 diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000000..91fe2eab31 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,28 @@ +# This dockerfile is to build each branch seperately (for dev purposes) +FROM node:10 +# Create Remix user, don't use root! +# RUN yes | adduser --disabled-password remix && mkdir /app +# USER remix + +# #Now do remix stuff +# USER remix +WORKDIR /home/remix + +COPY ./ ./ + +RUN npm ci +RUN npm run build + +FROM nginx:alpine +WORKDIR / + +COPY --from=0 /home/remix/build/ /usr/share/nginx/html/build/ +COPY --from=0 /home/remix/index.html /usr/share/nginx/html/index.html +COPY --from=0 /home/remix/nginx.conf /etc/nginx/nginx.conf +COPY --from=0 /home/remix/assets/ /usr/share/nginx/html/assets/ +COPY --from=0 /home/remix/icon.png /usr/share/nginx/html/icon.png +COPY --from=0 /home/remix/background.js /usr/share/nginx/html/background.js +COPY --from=0 /home/remix/soljson.js /usr/share/nginx/html/soljson.js +COPY --from=0 /home/remix/package.json /usr/share/nginx/html/package.json + +EXPOSE 80 diff --git a/apps/remix-ide/assets/img/icon.png b/apps/remix-ide/assets/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6bcd0352995329cc62c106867ff9b2c1fdf67f GIT binary patch literal 9364 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 Remix - Ethereum IDE - + diff --git a/build.yaml b/build.yaml new file mode 100644 index 0000000000..599cbfd8f5 --- /dev/null +++ b/build.yaml @@ -0,0 +1,15 @@ +version: "3.7" +x-project-base: + &project-base + restart: always + networks: + - remixide + +networks: + remixide: + +services: + remixide: + build: + context: . + dockerfile: Dockerfile diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000..f006b53700 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,18 @@ +version: "3.7" +x-project-base: + &project-base + restart: always + networks: + - remixide + +networks: + remixide: + +services: + remixide: + <<: *project-base + image: remixproject/remix-ide:$TAG + container_name: remixide-${TAG} + ports: + - 8080:80 + - 65520:65520 diff --git a/workspace.json b/workspace.json index 4fef2281a4..f8e303c7d1 100644 --- a/workspace.json +++ b/workspace.json @@ -22,7 +22,7 @@ "styles": [], "scripts": [], "webpackConfig": "apps/remix-ide/webpack.config.js", - "maxWorkers": 6 + "maxWorkers": 2 }, "configurations": { "production": {