From 29fbaaa3dd24995d5227d4630f4b3b80453b446f Mon Sep 17 00:00:00 2001
From: Miguel Prada <miguel.prada@tecnalia.com>
Date: Tue, 26 Feb 2019 13:42:22 +0100
Subject: [PATCH] Add development-mode deployment image

---
 ...ab-industrial-ci-kinetic-no-rosinstall.yml | 10 +++++++--
 ...-industrial-ci-kinetic-with-rosinstall.yml | 10 +++++++--
 deploy/{ => base}/Dockerfile                  |  4 ++++
 deploy/{ => base}/ros_entrypoint.bash         |  0
 deploy/dev/Dockerfile                         | 22 +++++++++++++++++++
 5 files changed, 42 insertions(+), 4 deletions(-)
 rename deploy/{ => base}/Dockerfile (55%)
 rename deploy/{ => base}/ros_entrypoint.bash (100%)
 create mode 100644 deploy/dev/Dockerfile

diff --git a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
index 70c8b45..2c5ecf6 100644
--- a/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
+++ b/.gitlab-industrial-ci-kinetic-no-rosinstall.yml
@@ -43,11 +43,17 @@ industrial_ci_kinetic_deploy:
   script:
     - .ci_config/gitlab.sh
     - cd $(mktemp -d)
-    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/deploy/Dockerfile
-    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/deploy/ros_entrypoint.bash
+    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/-/archive/master/gitlab_templates-master.zip
+    - unzip gitlab_templates-master.zip && cd gitlab_templates-master/deploy
+    - cd base
     - chmod a+x ros_entrypoint.bash
     - docker build -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} .
     - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}
+    - cd ..
+    - cd dev
+    - docker build --build-arg APPLICATION_IMAGE=${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev .
+    - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev
+    - cd ..
   only:
     - tags
 
diff --git a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
index b512c91..c63dc7f 100644
--- a/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
+++ b/.gitlab-industrial-ci-kinetic-with-rosinstall.yml
@@ -45,11 +45,17 @@ industrial_ci_kinetic_deploy:
   script:
     - .ci_config/gitlab.sh
     - cd $(mktemp -d)
-    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/deploy/Dockerfile
-    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/deploy/ros_entrypoint.bash
+    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/-/archive/master/gitlab_templates-master.zip
+    - unzip gitlab_templates-master.zip && cd gitlab_templates-master/deploy
+    - cd base
     - chmod a+x ros_entrypoint.bash
     - docker build -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} .
     - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}
+    - cd ..
+    - cd dev
+    - docker build --build-arg APPLICATION_IMAGE=${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev .
+    - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev
+    - cd ..
   only:
     - tags
 
diff --git a/deploy/Dockerfile b/deploy/base/Dockerfile
similarity index 55%
rename from deploy/Dockerfile
rename to deploy/base/Dockerfile
index 8fdec02..0b06faf 100644
--- a/deploy/Dockerfile
+++ b/deploy/base/Dockerfile
@@ -2,6 +2,10 @@ FROM industrial_ci_image
 
 RUN rm -rf /root/ici /root/src
 
+RUN apt-get update -qq && apt-get install -y -qq \
+  ros-kinetic-rosbash \
+  && rm -rf /var/lib/apt/lists/*
+
 COPY ./ros_entrypoint.bash /
 
 ENTRYPOINT ["/ros_entrypoint.bash"]
diff --git a/deploy/ros_entrypoint.bash b/deploy/base/ros_entrypoint.bash
similarity index 100%
rename from deploy/ros_entrypoint.bash
rename to deploy/base/ros_entrypoint.bash
diff --git a/deploy/dev/Dockerfile b/deploy/dev/Dockerfile
new file mode 100644
index 0000000..a117be1
--- /dev/null
+++ b/deploy/dev/Dockerfile
@@ -0,0 +1,22 @@
+ARG APPLICATION_IMAGE
+FROM ${APPLICATION_IMAGE}
+
+RUN apt-get update -qq && apt-get install -y -qq \
+  apt-transport-https
+
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg \
+  && mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg \
+  && sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
+
+RUN apt-get update -qq && apt-get install -y -qq \
+  code
+
+RUN echo "alias code='code --user-data-dir /root'" >> /root/.bashrc
+
+RUN code --user-data-dir /root \
+  --install-extension ajshort.ros \
+  --install-extension joaompinto.asciidoctor-vscode \
+  --install-extension ms-python.python \
+  --install-extension ms-vscode.cpptools \
+  --install-extension peterjausovec.vscode-docker \
+  --install-extension twxs.cmake
-- 
GitLab