Непрерывное развертывание с помощью gitlab, каковы возможные методы? - PullRequest
0 голосов
/ 20 июня 2019

Я просто установил базовый .gitlab-ci.yml для непрерывного развертывания моего проекта, вот его содержание:

stages:
  - deploy

before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p ~/.ssh
  - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config

deploy_staging:
  stage: deploy
  script:
    - ssh exemple@12.34.56.78 'cd api/dev/ && git checkout dev && git pull && cd doc/ && ./generate_doc.sh'
  only:
  - dev

deploy_prod:
  stage: deploy
  script:
    - ssh exemple@12.34.56.78 'cd api/prod/ && git checkout master && git pull && docker stop API_prod && docker-compose -f docker-compose.prod.yml up --build -d && cd doc/ && ./generate_doc.sh'
  only:
  - master

Я хотел бы знать, есть ли другие (лучшие) методы, чтобы сделатьто же самое?

1 Ответ

0 голосов
/ 20 июня 2019

Я не уверен, какой ответ ожидается здесь, но вот очень интересная страница о том, как использовать git в качестве инструмента развертывания:

https://gitolite.com/deploy.html

...