Adding Pipeline

This commit is contained in:
Devin Dice 2022-08-16 22:09:26 -04:00
parent e8f7627599
commit e68fe82481
3 changed files with 72 additions and 0 deletions

22
.semaphore/pipeline_2.yml Normal file
View file

@ -0,0 +1,22 @@
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
- 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true'
- 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .'
- '# Login to Dockerhub'
- 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin'
- '# Create a version'
- 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:testing'
secrets:
- name: Dockerhub

26
.semaphore/pipeline_3.yml Normal file
View file

@ -0,0 +1,26 @@
version: v1.0
name: Deploy Production
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}"'
- 'docker pull $DOCKER_USERNAME/cloud9-ide-vdi:latest || true'
- 'docker build --cache-from=$DOCKER_USERNAME/cloud9-ide-vdi:latest -t devindice/cloud9-ide-vdi .'
- '# Login to Dockerhub'
- 'echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin'
- '# Create a version'
- 'docker image tag devindice/cloud9-ide-vdi:latest devindice/cloud9-ide-vdi:$VERSION'
- 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:$VERSION'
- 'docker push $DOCKER_USERNAME/cloud9-ide-vdi:latest'
secrets:
- name: Dockerhub

24
.semaphore/semaphore.yml Normal file
View file

@ -0,0 +1,24 @@
version: v1.0
name: Initial Pipeline
agent:
machine:
type: e1-standard-2
os_image: ubuntu2004
blocks:
- name: Setup
task:
jobs:
- name: Checkout
commands:
- checkout
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'