Pipeline changes

This commit is contained in:
Devin Dice 2023-01-21 11:02:14 -05:00
parent 545a55b077
commit 95a6585531
8 changed files with 105 additions and 65 deletions

View File

@ -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

View File

@ -19,18 +19,10 @@ blocks:
- 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true' - 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true'
- 'cd ./configuration && python configure.py --desktop enabled' - 'cd ./configuration && python configure.py --desktop enabled'
- 'cd ../' - 'cd ../'
- 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .' - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t $DOCKER_USERNAME/cloud9-ide-vdi:latest .'
- '# Create the latest version' - 'docker image tag $DOCKER_USERNAME/cloud9-ide-vdi:latest $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION'
- 'docker image tag devindice/cloud9-ide-vdi:latest devindice/cloud9-ide-vdi:$VERSION' - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:latest'
- 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION' - '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: secrets:
- name: Dockerhub - name: Dockerhub

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -14,11 +14,19 @@ blocks:
secrets: secrets:
- name: Dockerhub - name: Dockerhub
promotions: promotions:
- name: Deploy Release Candidate - name: Deploy RC
pipeline_file: pipeline_2.yml pipeline_file: pipeline_rc.yml
auto_promote: auto_promote:
when: branch = 'release' AND result = 'passed' when: branch = 'release' AND result = 'passed'
- name: Deploy Production - name: Deploy RC No Desktop
pipeline_file: pipeline_3.yml 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: auto_promote:
when: branch = 'master' AND result = 'passed' when: branch = 'master' AND result = 'passed'

View File

@ -36,7 +36,7 @@ RUN apt update \
# install debs error if combine together # install debs error if combine together
RUN apt update \ RUN apt update \
&& apt install -y -o Dpkg::Options::='--force-confold' --no-install-recommends --allow-unauthenticated \ && 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 autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
@ -199,4 +199,4 @@ CMD /bin/bash
run bash /cloud9/user-install.sh run bash /cloud9/user-install.sh
user root user root

View File

@ -73,18 +73,18 @@ RUN apt update \
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg && ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
# python library # python library
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ #COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
RUN apt-get update \ #RUN apt-get update \
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ # && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
&& apt-get install -y python3-pip python3-dev build-essential \ # && apt-get install -y python3-pip python3-dev build-essential \
&& pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \ # && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \
&& ln -s /usr/bin/python3 /usr/local/bin/python \ # && ln -s /usr/bin/python3 /usr/local/bin/python \
&& dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ # && 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 remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
&& apt-get autoclean -y \ # && apt-get autoclean -y \
&& apt-get autoremove -y \ # && apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \ # && rm -rf /var/lib/apt/lists/* \
&& rm -rf /var/cache/apt/* /tmp/a.txt /tmp/b.txt # && rm -rf /var/cache/apt/* /tmp/a.txt /tmp/b.txt
# Install Additonal Packages # Install Additonal Packages
RUN mkdir /cloud9 RUN mkdir /cloud9