diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml index 0d70e7b..63fee3a 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/.build.yml @@ -1,18 +1,27 @@ pipeline: - build: + build_and_deploy: image: alpine:3.14 - secrets: [docker_password, docker_username] + secrets: [docker_password, docker_username, runner_private_key] commands: - # Install deps - - apk add docker docker-compose jq - # Log into docker registry - - echo "$${DOCKER_PASSWORD}" | docker login --password-stdin --username "$${DOCKER_USERNAME}" git.webdeploy.it + - apk add --no-cache openssh docker docker-compose jq + ################### Provisioning + - echo "$${DOCKER_PASSWORD}" | docker login --password-stdin --username "$${DOCKER_USERNAME}" git.webdeploy.it - echo "TAG=$(jq -r .version ./package.json)" >> .env - # Build image - - docker-compose -f docker-compose.build.yml build - - docker push git.webdeploy.it/pianello/pianello-web-app:latest - - docker push git.webdeploy.it/pianello/pianello-web-app:$(jq -r .version ./package.json) + - echo "ORIGIN=https://pianello.webdeploy.it" >> .env + - docker-compose -f docker-compose.build.yml build + - docker push git.webdeploy.it/pianello/frontend:latest + - docker push git.webdeploy.it/pianello/frontend:$(jq -r .version ./package.json) + # DEPLOY STUFF + - eval $(ssh-agent -s) + - mkdir -p ~/.ssh + - printf "%s" "$${RUNNER_PRIVATE_KEY}" > ~/.ssh/id_ed25519 + - chmod 600 ~/.ssh/id_ed25519 + - ssh-add ~/.ssh/id_ed25519 + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + - cat .env | ssh theater@prev.theater.webdeploy.it -p 11122 "cat - > .env" # copy env + - cat docker-compose.prod.yml | ssh theater@prev.theater.webdeploy.it -p 11122 "cat - > docker-compose.yml && docker compose pull && docker compose stop && docker compose up -d --remove-orphans" # start docker compose + volumes: - /var/run/docker.sock:/var/run/docker.sock -branches: main +branches: main \ No newline at end of file