美文网首页
配置git开发环境(自动部署)

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

作者: 悟器大叔 | 来源:发表于2018-09-14 18:46 被阅读35次

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

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

相关文章

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

    本文没有整理的很通顺,抱歉。 Step1 服务器添加ssh的pubkey实现无密码登陆服务器 1 本机:ssh-k...

  • GitHack -一个git泄露利用脚本

    当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这...

  • git自动部署代码

    git自动部署代码服务器创建裸仓库: 配置自动部署代码的脚本: 权限问题:git:git nginx:www...

  • 搭建自己的前端高效部署工具

    公司运维没有给我们前端配置自动部署前端项目的实施,现阶段只有生产环境实现了一键部署,部署频率较高的开发、测试环境上...

  • (转)git入门

    git入门 第x章 软件开发生命周期 1.开发流程 2.环境解释 3.手动部署的问题 4.自动部署的优势 4.1 ...

  • 纯前端服务器配置

    纯前端服务器配置 服务器环境 配置git项目 配置git自动同步 配置后端服务器别名 通过Git提交与更新代码 纯...

  • Django自动化部署

    概述 在阿里云的centos环境中配置Django的自动部署,平时开发过程中将代码托管在GitHub、gitlab...

  • 推荐一个超级实用的java项目.gitignore文件

    参考文章:Git配置Java开发环境的.gitignore文件

  • Windows/Mac在本地用Vagrant部署LNMP环境

    具体配置:Vagrant+VM+Centos7环境部署LNMP+Git+Drush+Drupal8 关于在本地配置...

  • 3.配置

    III. 配置 在环境中存储配置 通常,应用的 配置 在不同 部署 (预发布、生产环境、开发环境等等)间会有很大差...

网友评论

      本文标题:配置git开发环境(自动部署)

      本文链接:https://www.haomeiwen.com/subject/gpxagftx.html