OVH: Cloud Web и Gitlab-CI - PullRequest
       3

OVH: Cloud Web и Gitlab-CI

0 голосов
/ 01 апреля 2020

Я привык к Gitlab, и теперь я хочу начать развертывание с помощью Gitlab-CI прямо на сервере. У меня есть учетная запись OVH Cloud Web 1.

В настоящее время я заставил его работать с этим кодом в файле .gitlab-ci.yml и соответствующими переменными в Gitlab:

stages:
    - deploy

deploy:
    stage: deploy
    image: ubuntu:latest
    environment:
        name: production
    only:
        - master
    before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
        - mkdir -p ~/.ssh
        - eval $(ssh-agent -s)
        - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
        - apt-get update -qq && apt-get install -y -qq sshpass
        - export SSHPASS=$DEPLOY_PASSWORD
    script:
        - sshpass -e ssh -tt -p $DEPLOY_PORT $DEPLOY_USER@$DEPLOY_HOST git pull

I чувствую, что этот фрагмент кода не является ни чистым, ни защищенным. Можете ли вы дать мне несколько советов?

Спасибо.

1 Ответ

0 голосов
/ 08 апреля 2020

Когда скрипты в вашем файле .gitlab-ci.yml становятся большими и сложными, рассмотрите возможность размещения кода в отдельных файлах скриптов. Гораздо проще протестировать и поддерживать нормальный скрипт, чем пытаться сделать это внутри .gitlab-ci.yml. Хороший способ разделить это на то, что должно быть сделано и как это делается. Вы помещаете what в .gitlab-ci.yml и how в обычные файлы сценариев. Для вас это может быть файл типа set-up-ssh.sh, который будет делать большую часть того, что вы показываете в своем примере скрипта.

Когда дело доходит до безопасности, вы, похоже, уже используете среды GitLab. Это способ go для управления безопасным развертыванием с помощью GitLab, и вы можете ограничить границы среды переменными среды . Также убедитесь, что ваши инструменты командной строки читают секреты из файлов и что через оболочку ничего не передается. Это может быть сохранено в лог-файлах для вашей работы, и вы не хотите, чтобы ваши секреты отображались там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...