pipeline: build_and_deploy: image: alpine:3.14 secrets: [docker_password, docker_username] commands: - 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 - 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