markdown Tutos部署git

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Tutos部署git相关的知识,希望对你有一定的参考价值。

https://medium.com/@stadja/tout-sur-comment-se-connecter-%C3%A0-un-serveur-ssh-sans-mot-de-passe-b2cc5c0a86e1
https://medium.com/@stadja/comment-d%C3%A9ployer-sur-un-serveur-distant-en-une-commande-git-pas-%C3%A0-pas-bdcf5aaf172d

https://docs.ovh.com/fr/hosting/24-days/day07/

# Deployer un projet avec git sur un serveur distant

## Se connecter en SSH sans mot de passe
- Générer une clé SSH sur la machine si ce n’est pas déjà fait `ssh-keygen -t rsa`
- `ssh-copy-id DISTANT-USER@SERVER_HOST`
- Se connecter en ssh sans mot de passe en faisant `ssh DISTANT-USER@SERVER_HOST`
 
## Créer le dépot de déployement (ex:/home/DISTANT-USER/deploy)
- `mkdir deploy`
- `cd deploy`
- `git init --bare PROJECT-NAME.git`

## Mettre en place le hook post-receive
- `cd BARE-REPOSITORY-FOLDER/PROJECT-NAME.git/hooks`
- `nano post-receive`
- Ajouter au fichier le code suivant

```
#!/bin/bash
# Hook post-receive
 
# Force source bash profile to update PATH
source ~/.bash_profile
source ~/.bashrc
 
 
GIT_REPO=$HOME/deploy/peps-website-2019.git
DEPLOY_DIR=$HOME/website-2019
 
# Go to deploy directory to load ovhconfig
cd $DEPLOY_DIR
ovhConfig
cd -
 
while read prevsha1 newsha1 ref
do
    if [[ $ref =~ .*/master$ ]];
    then
        echo "Deploying master branch to production..."
        git --work-tree=$DEPLOY_DIR --git-dir=$GIT_REPO checkout -f
        cd $DEPLOY_DIR
    else
        echo "Ref: $ref isn't master. Nothing to do on production"
    fi
done
```

- Modifier les droits `chmod 755 post-receive`

## Ajouter le dépot externe sur la machine de développement
- Sur notre machine de développement, se rendre au dossier du projet
- `git remote add REMOTE-SERVER DISTANT-USER@SERVER_HOST:BARE-REPOSITORY-FOLDER/PROJECT-NAME.git`
- Si pas de message d’erreur, c’est ok !

## Envoyer le code sur le serveur du repo sur le serveur
- `git push REMOTE-SERVER BRANCH-TO-DEPLOY`

## Options
### Installer composer sur un mutualisé OVH
`mkdir -p $HOME/bin`
`wget -nv https://getcomposer.org/composer.phar -O bin/composer`
`chmod +x $HOME/bin/composer`
`php $HOME/bin/composer.phar require anhskohbo/no-captcha`

以上是关于markdown Tutos部署git的主要内容,如果未能解决你的问题,请参考以下文章

markdown 使用git push为项目部署创建一个裸的远程git存储库

github pages部署静态网页

markdown 工具:终端:Git:Git

markdown git #git

markdown Git笔记#git #tutorial

markdown [Git常用命令] #git