stages: - build - deploy build: image: node:fermium-buster tags: - docker stage: build variables: GATSBY_FIREBASE_API_KEY: $GATSBY_FIREBASE_API_KEY GATSBY_AUTH_DOMAIN: "spencassemble-sol-journal.firebaseapp.com" GATSBY_DATABASE_URL: "https://spencassemble-sol-journal.firebaseio.com" GATSBY_PROJECT_ID: "spencassemble-sol-journal" GATSBY_STORAGE_BUCKET: "spencassemble-sol-journal.appspot.com" GATSBY_MESSAGING_SENDER_ID: "299522647169" GATSBY_APP_ID: "1:299522647169:web:fc74af44747fd7cef79980" script: - npm ci - npm run build artifacts: paths: - public deploy: image: docker:20.10.22 tags: - docker stage: deploy environment: name: sol-journal url: http://sol-journal.spencassemble.com/ script: - docker image build -t spencerpincott/sol-journal:1.$CI_PIPELINE_IID . - docker login -u $DOCKERUSER -p $DOCKERPASS - docker image push spencerpincott/sol-journal:1.$CI_PIPELINE_IID - docker stop sol-journal - docker rm sol-journal - docker run -dit -p 5000:80 --name sol-journal --restart=always spencerpincott/sol-journal:1.$CI_PIPELINE_IID