diff --git a/.semaphore/pipeline_2.yml b/.semaphore/pipeline_2.yml deleted file mode 100644 index 808b04e..0000000 --- a/.semaphore/pipeline_2.yml +++ /dev/null @@ -1,36 +0,0 @@ -version: v1.0 -name: Deploy Release Candidate -agent: - machine: - type: e1-standard-2 - os_image: ubuntu2004 -blocks: - - name: RC Build - task: - jobs: - - name: Build and Push - commands: - - checkout - - git submodule update --init --recursive - - '# Login to Dockerhub' - - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' - - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true' - - 'cd ./configuration && python configure.py --desktop enabled' - - 'cd ../' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .' - - '# Create the test version' - - 'docker image tag devindice/cloud9-ide-vdi:latest devindice/cloud9-ide-vdi:testing' - - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing' - - 'cd ./configuration && python configure.py --desktop enabled --ubuntu 22' - - 'cd ../' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .' - - 'docker image tag devindice/cloud9-ide-vdi:latest devindice/cloud9-ide-vdi:testing' - - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing-22' - - 'cd ./configuration && python configure.py --desktop disabled' - - 'cd ../' - - '# Create the test version without the desktop' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop -t devindice/cloud9-ide-vdi .' - - 'docker image tag devindice/cloud9-ide-vdi:latest-no-desktop devindice/cloud9-ide-vdi:testing-no-desktop' - - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing-no-desktop' - secrets: - - name: Dockerhub diff --git a/.semaphore/pipeline_3.yml b/.semaphore/pipeline_prod.yml similarity index 56% rename from .semaphore/pipeline_3.yml rename to .semaphore/pipeline_prod.yml index acd4d06..3269a35 100644 --- a/.semaphore/pipeline_3.yml +++ b/.semaphore/pipeline_prod.yml @@ -19,18 +19,10 @@ blocks: - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true' - 'cd ./configuration && python configure.py --desktop enabled' - 'cd ../' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .' - - '# Create the latest version' - - 'docker image tag devindice/cloud9-ide-vdi:latest devindice/cloud9-ide-vdi:$VERSION' + - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t $DOCKER_USERNAME/cloud9-ide-vdi:latest .' + - 'docker image tag $DOCKER_USERNAME/cloud9-ide-vdi:latest $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:latest' - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION' - - 'cd ./configuration && python configure.py --desktop disabled' - - 'cd ../' - - '# Create the latest version without desktop' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop -t devindice/cloud9-ide-vdi .' - - 'docker image tag devindice/cloud9-ide-vdi:latest-no-desktop devindice/cloud9-ide-vdi:$VERSION-no-desktop' - - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION-no-desktop' - - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop' - secrets: - name: Dockerhub diff --git a/.semaphore/pipeline_prod_no_desktop.yml b/.semaphore/pipeline_prod_no_desktop.yml new file mode 100644 index 0000000..a8b12fe --- /dev/null +++ b/.semaphore/pipeline_prod_no_desktop.yml @@ -0,0 +1,28 @@ +version: v1.0 +name: Deploy Prod No Desktop +agent: + machine: + type: e1-standard-2 + os_image: ubuntu2004 +blocks: + - name: Production Build + task: + jobs: + - name: Tag and Push + commands: + - checkout + - git submodule update --init --recursive + - DATE=$(date +%y%U%u) + - 'VERSION="${DATE}"' + - '# Login to Dockerhub' + - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' + - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop || true' + - 'cd ./configuration && python configure.py --desktop disabled' + - 'cd ../' + - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop -t $DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop .' + - 'docker image tag $DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION-no-desktop' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:latest-no-desktop' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION-no-desktop' + + secrets: + - name: Dockerhub diff --git a/.semaphore/pipeline_rc.yml b/.semaphore/pipeline_rc.yml new file mode 100644 index 0000000..75dfbfe --- /dev/null +++ b/.semaphore/pipeline_rc.yml @@ -0,0 +1,24 @@ +version: v1.0 +name: Deploy Release Candidate +agent: + machine: + type: e1-standard-2 + os_image: ubuntu2004 +blocks: + - name: RC Build + task: + jobs: + - name: Build and Push + commands: + - checkout + - git submodule update --init --recursive + - '# Login to Dockerhub' + - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' + - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:testing || true' + - 'cd ./configuration && python configure.py --desktop enabled' + - 'cd ../' + - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:testing -t $DOCKER_USERNAME/cloud9-ide-vdi:testing .' + - '# Push the test version' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing' + secrets: + - name: Dockerhub diff --git a/.semaphore/pipeline_rc_no_desktop.yml b/.semaphore/pipeline_rc_no_desktop.yml new file mode 100644 index 0000000..c58271c --- /dev/null +++ b/.semaphore/pipeline_rc_no_desktop.yml @@ -0,0 +1,24 @@ +version: v1.0 +name: Deploy RC No Desktop +agent: + machine: + type: e1-standard-2 + os_image: ubuntu2004 +blocks: + - name: RC Build + task: + jobs: + - name: Build and Push + commands: + - checkout + - git submodule update --init --recursive + - '# Login to Dockerhub' + - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' + - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:testing-no-desktop || true' + - 'cd ./configuration && python configure.py --desktop disabled' + - 'cd ../' + - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:testing-no-desktop -t $DOCKER_USERNAME/cloud9-ide-vdi:testing-no-desktop .' + - '# Push the test version' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing-no-desktop' + secrets: + - name: Dockerhub diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index a50ef42..44051ee 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -14,11 +14,19 @@ blocks: secrets: - name: Dockerhub promotions: - - name: Deploy Release Candidate - pipeline_file: pipeline_2.yml + - name: Deploy RC + pipeline_file: pipeline_rc.yml auto_promote: when: branch = 'release' AND result = 'passed' - - name: Deploy Production - pipeline_file: pipeline_3.yml + - name: Deploy RC No Desktop + pipeline_file: pipeline_rc_no_desktop.yml + auto_promote: + when: branch = 'release' AND result = 'passed' + - name: Deploy Prod + pipeline_file: pipeline_prod.yml + auto_promote: + when: branch = 'master' AND result = 'passed' + - name: Deploy Prod No Desktop + pipeline_file: pipeline_prod_no_desktop.yml auto_promote: when: branch = 'master' AND result = 'passed' diff --git a/Dockerfile b/Dockerfile index 11662b5..9fb2b8f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,7 +36,7 @@ RUN apt update \ # install debs error if combine together RUN apt update \ && apt install -y -o Dpkg::Options::='--force-confold' --no-install-recommends --allow-unauthenticated \ - xvfb x11vnc ttf-ubuntu-font-family ttf-wqy-zenhei \ + xvfb x11vnc ttf-wqy-zenhei \ && apt autoclean -y \ && apt autoremove -y \ && rm -rf /var/lib/apt/lists/* @@ -199,4 +199,4 @@ CMD /bin/bash run bash /cloud9/user-install.sh -user root \ No newline at end of file +user root diff --git a/configuration/Dockerfile.j2 b/configuration/Dockerfile.j2 index 8220d67..62d3521 100644 --- a/configuration/Dockerfile.j2 +++ b/configuration/Dockerfile.j2 @@ -73,18 +73,18 @@ RUN apt update \ && ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg # python library -COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ -RUN apt-get update \ - && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ - && apt-get install -y python3-pip python3-dev build-essential \ - && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \ - && ln -s /usr/bin/python3 /usr/local/bin/python \ - && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ - && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ - && apt-get autoclean -y \ - && apt-get autoremove -y \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /var/cache/apt/* /tmp/a.txt /tmp/b.txt +#COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ +#RUN apt-get update \ +# && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ +# && apt-get install -y python3-pip python3-dev build-essential \ +# && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \ +# && ln -s /usr/bin/python3 /usr/local/bin/python \ +# && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ +# && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ +# && apt-get autoclean -y \ +# && apt-get autoremove -y \ +# && rm -rf /var/lib/apt/lists/* \ +# && rm -rf /var/cache/apt/* /tmp/a.txt /tmp/b.txt # Install Additonal Packages RUN mkdir /cloud9