diff --git a/.semaphore/pipeline_2.yml b/.semaphore/pipeline_2.yml new file mode 100644 index 0000000..1a2ee60 --- /dev/null +++ b/.semaphore/pipeline_2.yml @@ -0,0 +1,16 @@ +version: v1.0 +name: Pipeline 2 +agent: + machine: + type: e1-standard-2 + os_image: ubuntu2004 +blocks: + - name: Tag + task: + jobs: + - name: Tag build as testing + commands: + - '# Login to Dockerhub' + - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' + - '# Create a version' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing' diff --git a/.semaphore/pipeline_3.yml b/.semaphore/pipeline_3.yml new file mode 100644 index 0000000..976b060 --- /dev/null +++ b/.semaphore/pipeline_3.yml @@ -0,0 +1,16 @@ +version: v1.0 +name: Pipeline 3 +agent: + machine: + type: e1-standard-2 + os_image: ubuntu2004 +blocks: + - name: Tagging + task: + jobs: + - name: Tag build with version + commands: + - '# Login to Dockerhub' + - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' + - '# Create a version' + - 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing' diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 4578307..dac081b 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -12,17 +12,16 @@ blocks: commands: - checkout - git submodule update --init --recursive - - docker build -t cloud9-ide-vdi . - - '# Define Version Numbers' - - DATE=$(date +%y%U) - - 'VERSION="${DATE}"' - - '# Login to Dockerhub' - - 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin' - - '# Create a version' - - 'docker pull $DOCKER_USERNAME/docker-cloud9:$VERSION || true' - - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:$VERSION -t $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION .' - - 'docker image tag devindice/cloud9-ide-vdi:$VERSION devindice/cloud9-ide-vdi:latest' - - 'docker push $DOCKER_USERNAME/docker-cloud9:$VERSION' - - 'docker push $DOCKER_USERNAME/docker-cloud9:latest' + - 'docker pull $DOCKER_USERNAME/docker-cloud9:latest || true' + - 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest-t $DOCKER_USERNAME/test:latest.' secrets: - name: Dockerhub +promotions: + - name: Deploy Release Candidate + pipeline_file: pipeline_2.yml + auto_promote: + when: branch = 'release' AND result = 'passed' + - name: Deploy Production + pipeline_file: pipeline_3.yml + auto_promote: + when: branch = 'master' AND result = 'passed'