-
Notifications
You must be signed in to change notification settings - Fork 3
Continuous Integration (CI)
-
Gogs + Drone + Docker
- Gogs: a painless self-hosted Git service.
- Drone: Continuous Delivery platform built on Docker, written in Go (docs, readme)
- Running Gogs and Drone with docker-compose
- GitHub:drone-demos/drone-with-go
-
Jenkins: self-contained Java-based automation server; provides hundreds of plugins to support building, deploying and automating any project; with packages for Windows, Mac OS X and other Unix-like operating systems.
- Docker Overview
- Win and macOs: Docker Toolbox, which requires VirtualBox.
- On Win10 with Hyper-V enabled, Docker for Windows is preferred.
-
Issue when using -it on Windows, solution: prepend
winpty
.
- Dockerfile reference
docker run --name mgps -it \
-v $(pwd):/work:z \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
fedora:latest bash -c "dnf update -y && dnf install -y java*openjdk && /work/Precision-linux64-2015.2.bin"
Follow the steps in the installation GUI and select /opt/
as the target path. When finished:
docker cp mgps:/opt/ tmpdir/tmpopt
docker rm mgps
Reorder content as desired, and add the following Dockerfile to tmpdir
:
FROM fedora:latest
WORKDIR /work
COPY /tmpopt/ /opt/
RUN dnf install -y redhat-lsb libX11 libXft \
&& printf '#!/bin/bash\neval "/opt/PS2015.2.10/bin/${1} ${@:2}"\n' > /usr/bin/pspath \
&& chmod +x /usr/bin/pspath \
&& echo '/opt/PS2015.2.10/bin/lmgrd -c /opt/<mg.lic> -l /opt/log.log && sleep 3s && cat /opt/log.log' > /etc/profile.d/init_lmgrd.sh'
ENV LM_LICENSE_FILE="<port@myhost>"
where <mg.lic>
is the license file you obtained from the vendor, and <port@myhost>
must match the settings in that file.
Last, from tmpdir
, run:
docker build -t <myimage> .
docker run --rm -it \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-h "<myhost>" \
--mac-address="<mymac>"
<myimage>
where <myhost>
, <mymac>
and <myimage>
must match the values used when installing.
The same steps as for Precision should be followed. However, ModelSim/QuestaSim might not behave as expected with versions of freetype
newer than 2.4.12
. Therefore, it is recommended to install that version, by prepending the following line to the install call:
dnf install -y make gcc wget && wget --content-disposition https://sourceforge.net/projects/freetype/files/freetype2/2.4.12/freetype-2.4.12.tar.gz/download -O - | tar -xz && cd freetype-2.4.12 && ./configure --prefix=/opt/MentorGraphics/freetype --exec-prefix=/opt/MentorGraphics/freetype && make && make install && export LD_LIBRARY_PATH=/opt/MentorGraphics/freetype/lib/ &&
- portainer: the easiest way to manage Docker; is an open-source lightweight management UI which allows you to easily manage your Docker host or Swarm cluster.
- dockviz: takes Docker image and container information and presents in different ways, to help you understand what's going on inside the system
- boot2docker.io: a lightweight Linux distribution based on Tiny Core Linux made specifically to run Docker containers.
- RancherOS
- blog.docker.com
- shipyard: multi-host, cluster management, that uses Docker Swarm for cluster resourcing and scheduling.
- Kubernetes: Production-Grade Container Orchestration; automated container deployment, scaling, and management.