image: python:latest stages: - test - deploy before_script: - apt-get update -y && apt-get upgrade -y test: stage: test script: - pip install -r requirements.txt - ./lint.sh deploy: stage: deploy script: ## Install ssh-agent if not already installed - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )' ## Run ssh-agent (inside the build environment) - eval $(ssh-agent -s) ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - ## Create the SSH directory and give it the right permissions - mkdir -p ~/.ssh - chmod 700 ~/.ssh ## Use ssh-keyscan to scan the keys of the private server - ssh-keyscan "142.93.158.54" >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts ## Sync the project to the deploy route - apt-get install rsync -y - rsync -rvz ./ deployer@142.93.158.54:/var/www/musiclist.danielcortes.xyz/server/ - ssh deployer@142.93.158.54 'cd /var/www/musiclist.danielcortes.xyz/server/; sh deploy.sh'