Commit 02b2a5d6 authored by Dmitriy Safronov's avatar Dmitriy Safronov
Browse files

ssh only

parent 7e3d2325
Loading
Loading
Loading
Loading
+7 −20
Original line number Diff line number Diff line
@@ -11,27 +11,15 @@ variables:
  GIT_PUSH_URL:
    value: ""
    description: "1.1) ОБЯЗАТЕЛЬНАЯ ПЕРЕМЕННАЯ: указываем адрес репозитория нашего форка"
  GIT_PUSH_LOGIN:
    value: ""
    description: "1.3) НЕобязательная переменная: указываем логин репозитория нашего форка"
  GIT_PUSH_PASSWORD:
    value: ""
    description: "1.4) НЕобязательная переменная: указываем пароль репозитория нашего форка"
  SSH_PUSH_PRIVATE_KEY:
    value: ""
    description: "1.5) НЕобязательная переменная: указываем ssh-ключ репозитория нашего форка вместо пп. 1.3-1.4"
    description: "1.2) ОБЯЗАТЕЛЬНАЯ переменная: указываем ssh-ключ репозитория нашего форка"
  GIT_PULL_URL:
    value: ""
    description: "2.1) ОБЯЗАТЕЛЬНАЯ ПЕРЕМЕННАЯ: указываем адрес репозитория оригинала"
  GIT_PULL_LOGIN:
    value: ""
    description: "2.3) НЕобязательная переменная: указываем логин репозитория оригинала"
  GIT_PULL_PASSWORD:
    value: ""
    description: "2.4) НЕобязательная переменная: указываем пароль репозитория оригинала"
  SSH_PULL_PRIVATE_KEY:
    value: ""
    description: "2.5) НЕобязательная переменная: указываем ssh-ключ репозитория оригинала вместо пп. 2.2-2.3"
    description: "2.2) НЕобязательная переменная: указываем ssh-ключ репозитория оригинала"

##########################################################################################################

@@ -49,13 +37,12 @@ sync:
    GIT_STRATEGY: "none"
  only:
    variables:
      - $GIT_PUSH_URL =~ /^\S+$/ && ($GIT_PUSH_PASSWORD =~ /^\S+$/ || $SSH_PULL_PRIVATE_KEY=~ /^\S+$/) && $GIT_PULL_URL =~ /^\S+$/
      - $GIT_PUSH_URL =~ /^\S+$/ && $SSH_PUSH_PRIVATE_KEY=~ /^\S+$/ && $GIT_PULL_URL =~ /^\S+$/
  before_script:
    - rm -f ~/.git-credentials || true; git config --global credential.helper store && touch ~/.git-credentials
    - test -n "${GIT_PULL_PASSWORD}" && echo "https://${GIT_PULL_LOGIN:-oauth2}:${GIT_PULL_PASSWORD}@$(echo ${GIT_PULL_URL} | sed -r 's#([^/])/[^/].*#\1#' | sed -e 's|https://||g')" >> ~/.git-credentials || true
    - test -n "${GIT_PUSH_PASSWORD}" && echo "https://${GIT_PUSH_LOGIN:-oauth2}:${GIT_PUSH_PASSWORD}@$(echo ${GIT_PUSH_URL} | sed -r 's#([^/])/[^/].*#\1#' | sed -e 's|https://||g')" >> ~/.git-credentials || true
    - ( eval $(ssh-agent -s); echo "${SSH_PULL_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null && mkdir -p ~/.ssh && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config ) || true
    - ( eval $(ssh-agent -s); echo "${SSH_PUSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null && mkdir -p ~/.ssh && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config ) || true
    - rm -f ~/.git-credentials
    - eval $(ssh-agent -s) && mkdir -p ~/.ssh && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - test -n "${SSH_PULL_PRIVATE_KEY}" && echo "${SSH_PULL_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null || true
    - test -n "${SSH_PUSH_PRIVATE_KEY}" && echo "${SSH_PUSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null || true
  script:
    - rm -rf /tmp/repo
    - git clone --mirror "${GIT_PULL_URL}" /tmp/repo