From: David NĂ©grier Date: Thu, 9 Apr 2020 09:00:30 +0000 (+0200) Subject: Setting up continuous deployment X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=bc7b5fc6c99888429e0e0b179482ae9f6a9abbf9;p=libreadventure.git Setting up continuous deployment --- diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml new file mode 100644 index 0000000..ec7d3c6 --- /dev/null +++ b/.github/workflows/build-and-deploy.yml @@ -0,0 +1,65 @@ +name: Build, push and deploy Docker image + +on: + push: + branches: + - master + - cd +# tags: +# - '*' + +# Enables BuildKit +env: + DOCKER_BUILDKIT: 1 + +jobs: + + build-front: + + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v2 + + - name: "Build and push front image" + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: thecodingmachine/workadventure-front + tag_with_ref: true + add_git_labels: true + working-directory: "front" + + build-back: + + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v2 + + - name: "Build and push back image" + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: thecodingmachine/workadventure-back + tag_with_ref: true + add_git_labels: true + working-directory: "back" + + deeploy: + needs: + - build-front + - build-back + runs-on: ubuntu-latest + + - name: Checkout + uses: actions/checkout@v2 + + - name: "Deploy" + uses: thecodingmachine/deeployer@master diff --git a/back/.dockerignore b/back/.dockerignore new file mode 100644 index 0000000..ca0a17d --- /dev/null +++ b/back/.dockerignore @@ -0,0 +1,4 @@ +/dist/ +/node_modules/ +/dist/bundle.js +/yarn-error.log diff --git a/back/Dockerfile b/back/Dockerfile new file mode 100644 index 0000000..edaeee6 --- /dev/null +++ b/back/Dockerfile @@ -0,0 +1,8 @@ +FROM thecodingmachine/nodejs:12 + +COPY . . +RUN yarn install + +ENV NODE_ENV=production + +CMD ['yarn', 'run', 'prod'] diff --git a/deeployer.json b/deeployer.json new file mode 100644 index 0000000..2eaeeba --- /dev/null +++ b/deeployer.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://raw.githubusercontent.com/thecodingmachine/deeployer/master/deeployer.schema.json", + "containers": { + "back": { + "image": "", + "host": "http://api.workadventure.test.thecodingmachine.com", + "env": { + "SECRET_KEY": "tempSecretKeyNeedsToChange" + } + }, + "front": { + "image": "", + "host": "http://workadventure.test.thecodingmachine.com", + "env": { + "API_URL": "http://api.workadventure.test.thecodingmachine.com" + } + } + } +} diff --git a/front/.dockerignore b/front/.dockerignore new file mode 100644 index 0000000..048e02c --- /dev/null +++ b/front/.dockerignore @@ -0,0 +1,3 @@ +/node_modules/ +/dist/bundle.js +/yarn-error.log diff --git a/front/Dockerfile b/front/Dockerfile new file mode 100644 index 0000000..4ab4f27 --- /dev/null +++ b/front/Dockerfile @@ -0,0 +1,9 @@ +# we are rebuilding on each deploy to cope with the API_URL environment URL +FROM thecodingmachine/nodejs:12-apache + +COPY . . +RUN yarn install + +ENV NODE_ENV=production +ENV STARTUP_COMMAND_1="yarn run build" +ENV APACHE_DOCUMENT_ROOT=dist/