Ответы пользователя по тегу Git
  • Как настроить автоматическую подкачку коммитов?

    @dimuska139
    Backend developer
    Судя по тегу "gitlab", тебе надо на сервер установить gitlab-runner, настроить его, а в GitLab в настройках проекта его включить для проекта. В корне репозитория положить файл .gitlab-ci.yml с примерно таким содержанием:
    stages:
      - deploy
    
    deploy:
      stage: deploy
      environment:
        name: master
      script:
      - cd /app
      - git reset --hard
      - git pull origin master
      - source ./env/bin/activate
      - pip install -r ./requirements.txt
      - python3 manage.py migrate
      - python3 manage.py collectstatic --noinput
      - sudo supervisorctl restart ololo.backend
      - python3 manage.py clearcache
      - python3 manage.py warmcache
      only:
      - master
      tags:
      - linux
      - shell

    Тогда, при попадании коммита в master, раннер на сервере будет "узнавать" об этом и выполнять команды, описанные в секции script.
    Мой пример не совсем production-ready, так сказать, потому что состоит из одного шага - deploy. Если по-хорошему делать, то перед ним, как минимум, должен быть шаг запуска тестов, без успешного прохождения которых шаг deploy выполняться не будет. Это дает хоть какую-то гарантию, что код, попавший в master, будет работать на сервере. Имей это в виду)
    Ответ написан
    6 комментариев
  • Что на сегодня лучше для нового проекта, GitLab vs GitHub vs bitbucket?

    @dimuska139
    Backend developer
    Юзаю GitLab, потому что автоматический деплой и запуск тестов при пуше в ту или иную ветку делать удобней всего. Также удобно, что есть Registry, в котором можно хранить собранные Docker-образы. То есть Dockerhub не нужен. При том, что на Dockerhub можно, если не ошибаюсь, хранить только один приватный образ, а в GitLab-registry - сколько хочешь. Делать сборку образов можно тоже прямо в GitLab.

    Upd: "делать удобней всего" - ЛИЧНО МНЕ (я не devops, а просто backend-разраб).
    Ответ написан
    Комментировать