pipeline: build_and_deploy: image: alpine:3.14 secrets: [docker_password, docker_username, runner_private_key] 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 ./frontend/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 ./frontend/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 pianello@pianello.webdeploy.it -p 11122 "cat - > .env" # copy env - cat docker-compose.prod.yml | ssh pianello@pianello.webdeploy.it -p 11122 "cat - > docker-compose.yml && docker compose pull && docker compose stop && docker compose up -d --remove-orphans" volumes: - /var/run/docker.sock:/var/run/docker.sock branches: main