-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
provide a local Dockerfile of the continuous integration environment #229
Comments
I built the same image as we have on circleci. If we can trim this image down, that would be great. Save as Dockerfile FROM ubuntu:16.04
RUN apt-get update && apt-get install -y curl vim git bzip2 ssh build-essential
# install HeadlessChrome X11 packages
# https://github.com/Quramy/puppeteer-example#with-docker-based-ci-services
RUN apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
# install Chrome and Java JRE
# https://askubuntu.com/questions/510056/how-to-install-google-chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list
RUN apt-get update && apt-get install -y google-chrome-stable default-jre
# install NodeJS LTS
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
# install latest [email protected] and upgrade to latest release of [email protected]
# use yarn to install npm \_(ツ)_/¯
# https://stackoverflow.com/questions/44269086/how-to-upgrade-npm-to-npm5-on-the-latest-node-docker-image
RUN npm install -g yarn@^1.10.0 && yarn global add npm@^6.0.0 Built container image with: docker build -t nodejs-dev . Then I ran it with a mounted a directory using binding. It's not ideal because it's causing a permission nightmare. docker run -it --name devtest --mount type=bind,source=/home/user/workspace/evergreen/greenwood,target=/workspace/greenwood nodejs-dev |
what you have is the same as CircleCI, which is using |
Well instead of pull that image, you can custom build your own is the point. So I'm taking the dockerfile from that image and showing you what it contains so we can strip it if need be, |
Sure, but the thing we wanted was the same image as CI, right? That's what helped us (me anyway) initially reproduce #213 locally. I agree, If someone wants to hack with it after the fact great, but we should probably just commit the actual thing we want / need in its simplest form. We can link to the "source" so if someone wants to tinker more locally, they can. Also, if there is a new release of that image, then we just have to bump the version to keep things in lockstep. Plus, for providing a testing environment as part of #21 , we will likely be using |
Type of Change
Summary
As we found as part of #213 , having a local version of the Docker container of what CircleCI is running was really helpful. Along with #21 , being able to test CMSs will also be useful, so getting a basic implementation to work off will be a good start.
Details
This is what I have so far, but need to make it mount the local workspace directly to provide a 1:1 mapping
The text was updated successfully, but these errors were encountered: