Задать вопрос
Ответы пользователя по тегу GitLab
  • .gitlab-ci.yml и гемор с ним .?

    @kalter1808
    Предположим, у вас раннер настроен по дефолту. В этом случае используется билдинг в docker-контейнерах. О других экзекуторах здесь: https://docs.gitlab.com/runner/#selecting-the-executor
    stages:
      - deploy
    
    deploy_master:
      image: alpine
      stage: deploy  
      script:
        - apk update && apk upgrade
        - apk add openssh bash rsync
        - echo "====== Deploy to production server ======"
        - echo "====== Add target servers secret key ======"
        - mkdir ~/.ssh
        - echo $TARGET_SERVER_SECRET_KEY > ~/.ssh/id_rsa
        - chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
        - echo "====== Test ssh connection ======"
        - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -T "root@target_server"
        - echo "====== Sync local and remote directory ======"
        - rsync -av -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --delete ./ "root@target_server:/home/webserver/"
    
    only:
      - master

    Чтобы это заработало, в настройках CI/CD в gitlab нужно установить переменную TARGET_SERVER_SECRET_KEY, записав в нее полностью ваш закрытый ssh ключ
    Ответ написан
    Комментировать