markdown Git Auto Deplay

Posted

tags:

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

Install software-properties-common
```
sudo apt-get install software-properties-common
```

Add Repo
```
sudo add-apt-repository ppa:olipo186/git-auto-deploy
```

Update apt-get
```
sudo apt-get update
```

Install git-auto-deploy
```
sudo apt-get install git-auto-deploy
```

Modify /etc/git-auto-deploy.conf.json
```
{
  "pid-file": "/etc/git-auto-deploy/.gitautodeploy.pid",
  "http-host": "0.0.0.0",
  "http-port": 8001,
  "repositories": [
    {
      "url": "git@gitlab.example.com:user/repo.git",
      "branch": "master",
      "remote": "origin",
      "path": "/var/www/html",
      "filters": [
        {
          "object_kind": "push",
          "ref": "refs/heads/master"
        }
      ]
    }
  ]
}
```

Generate key
```
cd /root/.ssh/; ssh-keygen -t rsa;
```

copy key to git-auto-deploy
```
sudo cp /root/.ssh/id_rsa /etc/git-auto-deploy/.ssh/
```

change permissions for script to git-auto-deploy user
```
sudo chown -R git-auto-deploy:git-auto-deploy /etc/git-auto-deploy
```

Add git-auto-deploy user to the www-data group
```
usermod -a -G www-data git-auto-deploy
```

For some reason I'm not so good with permission stuff and the above command doesn't work the way i expect, my solution is to change the ownership of the entire html directory
```
chown -R git-auto-deploy:git-auto-deploy /var/www/html
```

You may need to make sure that the repo IP fingerprint has been added to the ~/.ssh/known_hosts file and copy this to the git-auto-deploy/.ssh/known_hosts file
```
ssh-keyscan -H -t rsa gitlab.pen.org  >> ~/.ssh/known_hosts
cp ~/.ssh/known_hosts /etc/git-auto-deploy/.ssh/
chown git-auto-deploy:git-auto-deploy /etc/git-auto-deploy/.ssh/known_hosts
```

Next make sure you add your public key from `/root/.ssh/id_rsa.pub` to gitlab and add a webhook that triggers the "push" event to http://mydomain.com:8001

Start and check your git-auto-deploy server by running
```
service git-auto-deploy start
service git-auto-deploy status
```

For Digital ocean you may have to open up the 8001 port
```
sudo ufw allow 8001/tcp
```

Install git
```
sudo apt-get install git
```

You may need to verify the authenticity (fingerprint) of the git repo. In my case this was a Digital Ocean git repo so I ssh'd into my `/var/www/html` directory and ran
```
git init
git remote add origin git@gitlab.example.com:user/repo.git
git fetch origin
```

To see git-auto-deploy logs you can watch the log file:
```
tail -f /var/log/git-auto-deploy.log
```


以上是关于markdown Git Auto Deplay的主要内容,如果未能解决你的问题,请参考以下文章

Linux deplay 安装 Ubuntu 及 MySQL

markdown Sqlite,auto_increase

markdown Lambda Auto-Deployer

markdown zeronet auto make seed

markdown 配置代理auto-config服务器

markdown 将Windows服务设置为delayed-auto,并在失败时重新启动