diff --git a/.drone-docker.yml b/.drone-docker.yml index b8a1747..abc9f80 100644 --- a/.drone-docker.yml +++ b/.drone-docker.yml @@ -8,76 +8,96 @@ concurrency: trigger: event: - push - branch: - - master - - main - - development steps: -- name: replace hosts and user variables - image: ubuntu:impish - environment: - DEPLOY_HOSTNAME: - from_secret: deploy_hostname - SPT_ITEMS_HOSTNAME: - from_secret: spt_items_hostname - DEPLOY_USER: - from_secret: deploy_username - DEPLOY_SSH_KEY_PASSPHRASE: - from_secret: deploy_ssh_key_passphrase - DEPLOY_PRIVATE_KEY: - from_secret: deploy_ssh_key - commands: - - sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./items/frontend/.env.example - - mv ./items/frontend/.env.example ./items/frontend/.env - - echo "$DEPLOY_PRIVATE_KEY" > private.key && chmod 600 private.key - - sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible-items/inventory - - sed -i 's/{{ DEPLOY_SSH_KEY_PASSPHRASE }}/'"$DEPLOY_SSH_KEY_PASSPHRASE"'/g' ./.ansible-items/inventory - - sed -i 's/{{ DEPLOY_USER }}/'"$DEPLOY_USER"'/g' ./.ansible-items/inventory + - name: replace hosts and user variables + image: ubuntu:impish + environment: + SPT_ITEMS_HOSTNAME: + from_secret: spt_items_hostname + DEPLOY_HOSTNAME: + from_secret: deploy_hostname + DEPLOY_USER: + from_secret: deploy_username + DEPLOY_PRIVATE_KEY: + from_secret: deploy_ssh_key + DEPLOY_SSH_KEY_PASSPHRASE: + from_secret: deploy_ssh_key_passphrase + commands: + - sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./items/frontend/.env.example + - mv ./items/frontend/.env.example ./items/frontend/.env + - echo "$DEPLOY_PRIVATE_KEY" > private.key && chmod 600 private.key + - sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible-items/inventory + - sed -i 's/{{ DEPLOY_SSH_KEY_PASSPHRASE }}/'"$DEPLOY_SSH_KEY_PASSPHRASE"'/g' ./.ansible-items/inventory + - sed -i 's/{{ DEPLOY_USER }}/'"$DEPLOY_USER"'/g' ./.ansible-items/inventory -- name: build frontend - image: node:lts-alpine3.14 - commands: - - node -v - - npm -v - - yarn --version - - yarn --cwd ./items/frontend install - - yarn --cwd ./items/frontend build --pure-lockfile - - rm -rf ./items/api/public/static/* - - mv ./items/frontend/build/* ./items/api/public - - rm ./items/api/public/index.html + - name: install frontend dependencies + image: node:lts-alpine3.14 + commands: + - node -v + - npm -v + - yarn --version + - yarn --cwd ./items/frontend install + - yarn --cwd ./items/frontend build --pure-lockfile + - rm -rf ./items/api/public/static/* + - mv ./items/frontend/build/* ./items/api/public + - rm ./items/api/public/index.html -- name: check ansible syntax - image: plugins/ansible:3 - settings: - playbook: ./.ansible-items/playbook.yml - inventory: ./.ansible-items/inventory - galaxy: ./.ansible-items/requirements.yml - syntax_check: true - when: - branch: - - development + - name: test frontend + image: node:lts-alpine3.14 + commands: + - node -v + - npm -v + - yarn --version + - yarn --cwd ./items/frontend cy:run -- name: apply ansible playbook - image: plugins/ansible:3 - settings: - playbook: ./.ansible-items/playbook.yml - inventory: ./.ansible-items/inventory - galaxy: ./.ansible-items/requirements.yml - timeout: 60 - verbose: 2 - environment: - DEPLOY_HOSTNAME: - from_secret: deploy_hostname - SPT_ITEMS_HOSTNAME: - from_secret: spt_items_hostname - DEPLOY_USER: - from_secret: deploy_username - DEPLOY_USER_GROUP: - from_secret: deploy_user_group - SPT_ITEMS_PATH: - from_secret: deploy_path - when: - branch: - - master - - main \ No newline at end of file + - name: build frontend + image: node:lts-alpine3.14 + commands: + - node -v + - npm -v + - yarn --version + - yarn --cwd ./items/frontend build --pure-lockfile + - rm -rf ./items/api/public/static/* + - mv ./items/frontend/build/* ./items/api/public + - rm ./items/api/public/index.html + when: + branch: + - main + - master + - development + + - name: check ansible syntax + image: plugins/ansible:3 + settings: + playbook: ./.ansible-items/playbook.yml + inventory: ./.ansible-items/inventory + galaxy: ./.ansible-items/requirements.yml + syntax_check: true + when: + branch: + - development + + - name: apply ansible playbook + image: plugins/ansible:3 + settings: + playbook: ./.ansible-items/playbook.yml + inventory: ./.ansible-items/inventory + galaxy: ./.ansible-items/requirements.yml + timeout: 60 + verbose: 2 + environment: + SPT_ITEMS_HOSTNAME: + from_secret: spt_items_hostname + DEPLOY_HOSTNAME: + from_secret: deploy_hostname + DEPLOY_USER: + from_secret: deploy_username + DEPLOY_USER_GROUP: + from_secret: deploy_user_group + SPT_ITEMS_PATH: + from_secret: deploy_path + when: + branch: + - master + - main \ No newline at end of file