|
|
@ -12,6 +12,10 @@ globals: |
|
|
image: &dockerhub-image devops-tpfinal-front |
|
|
image: &dockerhub-image devops-tpfinal-front |
|
|
backends: |
|
|
backends: |
|
|
prod: &prod-backend-url https://tpfinal-devops-back.herokuapp.com |
|
|
prod: &prod-backend-url https://tpfinal-devops-back.herokuapp.com |
|
|
|
|
|
dev: &dev-backend-url https://tpfinal-devops-back-dev.herokuapp.com |
|
|
|
|
|
netlify: |
|
|
|
|
|
prod-siteid: &prod-siteid 4704e2ec-1222-4a40-be89-4a676233b5c9 |
|
|
|
|
|
develop-siteid: &dev-siteid d60f86f2-dc79-4d4d-b661-00f60e73e7a9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# --- Commands --- # |
|
|
# --- Commands --- # |
|
|
@ -68,6 +72,9 @@ jobs: |
|
|
docker-build: |
|
|
docker-build: |
|
|
<<: *shared-config |
|
|
<<: *shared-config |
|
|
parameters: |
|
|
parameters: |
|
|
|
|
|
tags: |
|
|
|
|
|
default: "" |
|
|
|
|
|
type: string |
|
|
backendurl: |
|
|
backendurl: |
|
|
type: string |
|
|
type: string |
|
|
environment: |
|
|
environment: |
|
|
@ -80,16 +87,17 @@ jobs: |
|
|
version: 20.10.7 |
|
|
version: 20.10.7 |
|
|
- run: |
|
|
- run: |
|
|
name: Build docker image |
|
|
name: Build docker image |
|
|
command: | |
|
|
|
|
|
docker build -t app --build-arg backend_url=<<parameters.backendurl>> . |
|
|
|
|
|
|
|
|
command: docker build -t app --build-arg backend_url=<<parameters.backendurl>> . |
|
|
- deploy: |
|
|
- deploy: |
|
|
name: Publish image to Docker Hub |
|
|
name: Publish image to Docker Hub |
|
|
command: | |
|
|
command: | |
|
|
echo $DOCKERHUB_PASSWORD | docker login -u $DOCKER_HUB_USER_ID --password-stdin |
|
|
echo $DOCKERHUB_PASSWORD | docker login -u $DOCKER_HUB_USER_ID --password-stdin |
|
|
docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM |
|
|
|
|
|
docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest |
|
|
|
|
|
docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM |
|
|
|
|
|
docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for tag in <<parameters.tags>> |
|
|
|
|
|
do |
|
|
|
|
|
docker tag app $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$tag |
|
|
|
|
|
docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$tag |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
build-netlify: |
|
|
build-netlify: |
|
|
<<: *shared-config |
|
|
<<: *shared-config |
|
|
@ -115,7 +123,13 @@ jobs: |
|
|
|
|
|
|
|
|
deploy-netlify: |
|
|
deploy-netlify: |
|
|
<<: *shared-config |
|
|
<<: *shared-config |
|
|
|
|
|
parameters: |
|
|
|
|
|
siteid: |
|
|
|
|
|
type: string |
|
|
working_directory: ~/todoapp |
|
|
working_directory: ~/todoapp |
|
|
|
|
|
environment: |
|
|
|
|
|
NETLIFY_SITE_ID: <<parameters.siteid>> |
|
|
|
|
|
|
|
|
steps: |
|
|
steps: |
|
|
- attach_workspace: |
|
|
- attach_workspace: |
|
|
at: /tmp |
|
|
at: /tmp |
|
|
@ -143,6 +157,7 @@ workflows: |
|
|
- build |
|
|
- build |
|
|
|
|
|
|
|
|
- build-netlify: |
|
|
- build-netlify: |
|
|
|
|
|
name: build-netlify-prod |
|
|
backendurl: *prod-backend-url |
|
|
backendurl: *prod-backend-url |
|
|
requires: |
|
|
requires: |
|
|
- test |
|
|
- test |
|
|
@ -152,15 +167,40 @@ workflows: |
|
|
only: |
|
|
only: |
|
|
- main |
|
|
- main |
|
|
|
|
|
|
|
|
|
|
|
- build-netlify: |
|
|
|
|
|
name: build-netlify-dev |
|
|
|
|
|
backendurl: *dev-backend-url |
|
|
|
|
|
requires: |
|
|
|
|
|
- test |
|
|
|
|
|
- lint |
|
|
|
|
|
filters: |
|
|
|
|
|
branches: |
|
|
|
|
|
only: |
|
|
|
|
|
- develop |
|
|
|
|
|
|
|
|
- deploy-netlify: |
|
|
- deploy-netlify: |
|
|
|
|
|
name: deploy-netlify-prod |
|
|
|
|
|
siteid: *prod-siteid |
|
|
requires: |
|
|
requires: |
|
|
- build-netlify |
|
|
|
|
|
|
|
|
- build-netlify-prod |
|
|
filters: |
|
|
filters: |
|
|
branches: |
|
|
branches: |
|
|
only: |
|
|
only: |
|
|
- main |
|
|
- main |
|
|
|
|
|
|
|
|
|
|
|
- deploy-netlify: |
|
|
|
|
|
name: deploy-netlify-dev |
|
|
|
|
|
siteid: *dev-siteid |
|
|
|
|
|
requires: |
|
|
|
|
|
- build-netlify-dev |
|
|
|
|
|
filters: |
|
|
|
|
|
branches: |
|
|
|
|
|
only: |
|
|
|
|
|
- develop |
|
|
|
|
|
|
|
|
- docker-build: |
|
|
- docker-build: |
|
|
|
|
|
name: docker-build-prod |
|
|
|
|
|
tags: "latest $CIRCLE_BUILD_NUM" |
|
|
backendurl: *prod-backend-url |
|
|
backendurl: *prod-backend-url |
|
|
requires: |
|
|
requires: |
|
|
- test |
|
|
- test |
|
|
@ -169,3 +209,15 @@ workflows: |
|
|
branches: |
|
|
branches: |
|
|
only: |
|
|
only: |
|
|
- main |
|
|
- main |
|
|
|
|
|
|
|
|
|
|
|
- docker-build: |
|
|
|
|
|
name: docker-build-dev |
|
|
|
|
|
tags: "dev $CIRCLE_BUILD_NUM-dev" |
|
|
|
|
|
backendurl: *dev-backend-url |
|
|
|
|
|
requires: |
|
|
|
|
|
- test |
|
|
|
|
|
- lint |
|
|
|
|
|
filters: |
|
|
|
|
|
branches: |
|
|
|
|
|
only: |
|
|
|
|
|
- develop |