配置git开发环境(自动部署)

本文没有整理的很通顺,抱歉。

Step1 服务器添加ssh的pubkey实现无密码登陆服务器

1 本机:ssh-keygen -t rsa 生成钥匙对
2 复制 生成的 id_rsa.pub(默认)到服务器的 ~/.ssh/authorized_keys文件中
3 测试直接 ssh username@xxxx.xxxx.xxx

Step2 参考网上的文章构建两个库

  1. 版本管理用的 bare库,git init --bare --shared
  2. 服务文件夹在的库 git add --all

Step 3 实现本地推送之后根据不同的分支名更新不同的文件夹

1.在bare库的hooks文件夹下找到post-update.sample并去掉.sample

  1. 输入以下代码
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
# 获取当前提交代码的人的分支名
branch=$(git rev-parse --symbolic --abbrev-ref $1)

# 如果为master主分支就cd到html的服务环境,
# 其他分支的就根据branch名称来确定去相应的文件夹
if [ "master" = "$branch" ]; then
     cd /var/www/html
else
     cd /var/www/$branch
fi

# 在相应的开发文件夹下pull 远端的相应分支到自己的master下
unset GIT_DIR
git pull origin $branch:master

exec git update-server-info

附录 设置服务器的虚拟域名以映射到相应的文件夹下

由于本来我的这台服务器就开了ssl所以我要做的就是在/etc/apache2/sites-enabled/000-default.conf中加入相应的设置,

<VirtualHost *:80>
        ServerName test.yourserver.com
        ServerAlias *.test.yourserver.com

        ServerAdmin webmaster@localhost
      
        VirtualDocumentRoot /var/www/%1
        <Directory /var/www/%1/hotel_price>
                Options FollowSymLinks ExecCGI
                AllowOverride All
        </Directory>
</VirtualHost>

网站根目录在/var/www下,其中有很多git的仓库,比如有个/var/www/try文件夹,然后访问网址的时候就用的是 try.test.yourserver.com
为了能够解析这个网址,在域名商处需要配置一下,CNAME 解析 *.test

ps 这个解答里提供了另一种方法,针对不同的用户登陆https://stackoverflow.com/questions/26734933/how-to-set-up-git-over-http

pps 这里有ssl设置的方法https://www.digicert.com/csr-ssl-installation/apache-openssl.htm#ssl_certificate_install

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,694评论 19 139
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,863评论 9 163
  • 带你去旅行 趁着五一放假,和同事一起去了趟一直想去的海滨城市——厦门。 厦门,在我的...
    采蘑菇的小Timor阅读 497评论 0 2
  • 文/渡轻舟 【一】 桌子上的那一盘芹菜正在宋星辰的嘴里爆炸,她一直觉得芹菜应该是外星生物才会吃的东西。作为犯罪魁首...
    沈洲屿阅读 605评论 2 5
  • 睡梦中惊醒,意识到又没睡好。 我们的思维习惯于认知,总是按照自己认知去思考。迷信的人总相信心中的东西是真的,也许有...
    ddavi阅读 246评论 0 0

友情链接更多精彩内容