首页 » PHP教程 » 主动化安排php技巧_运用Git实现自动化支配项目

主动化安排php技巧_运用Git实现自动化支配项目

访客 2024-11-02 0

扫一扫用手机浏览

文章目录 [+]

#创建一个名叫jouzeyu的用户adduserjouzeyu

第二步:给 git 用户添加权限

#在根目录下的home文件夹下创建一个git文件夹mkdir/home/git#切换到创建好的git文件夹cd/home/git#创建.ssh文件夹,里面紧张用来放公钥mkdir.ssh#切换到.ssh文件夹并创建authorized_keys文件cd.sshtouchauthorized_keys

第三步:配置 git 并获取公钥

主动化安排php技巧_运用Git实现自动化支配项目

#在本地配置用户名和邮箱,我的用户名默认为jouzeyugit config --global user.name "jouzeyu"git config --global user.email "your email"

把稳:如果用了 --global 选项,那么往后你所有的项目都会利用这里配置的用户信息。
如果要在某个特定的项目中利用其他名字或邮箱,只需在该项眼前实行:

主动化安排php技巧_运用Git实现自动化支配项目
(图片来自网络侵删)

git config user.name "xxx"git config user.email "xxx"

接下来我们获取公钥,请先查看你的用户下的.ssh 文件夹中是否之前就含有公钥和私钥,我们须要探求一对以 id_dsa 或 id_rsa 命名的文件,个中一个带有 .pub 扩展名。
.pub 文件是你的公钥,另一个则是私钥。
如果没有请运行 ssh-keygen。
利用 cat ~/.ssh/id_rsa.pub 命令可以获取公钥,复制它,利用 vi 或者 vim 命令把它粘贴到我们之前创建的 authorized_keys 文件中,利用:wq 保存。
第四步:初始化仓库创建一个存放 git 仓库的文件夹:

初始化仓库:

#初始化一个裸仓库(强烈建议)git init --bare website.git#配置仓库的权限,让我们之前创建好的git用户jouzeyu能读写chown -R git:git website.git

这里必须把稳,如果不给权限,后面的 git pull 将会报错,缘故原由是没有权限写入。
关于裸仓库和普通仓库的差异大略来说便是裸仓库看不到项目文件,普通仓库和你的项目目录一样,只是多了一个.git 文件夹。
第五步:天生项目仓库这个也是在做事器上进行的,同时解释一下 /www/wwwroot/ 是我的环境的根目录。

#创建我做事器上的项目目录testmkdir /www/wwwroot/test#克隆仓库git clone /www/wwwroot/git/website.git#设置权限chown -R git website

把稳:一定要把稳我的路径,git 仓库是 /www/wwwroot/git, 项目仓库是 /www/wwwroot/test。

第六步:克隆到本地

# 通过ip地址从配置好的线上仓库拉取下来git clone git@47.97.121.XXX:/www/wwwroot/git/website.git# 如果有配置域名的话也可以通过域名拉取git clone git@www.XXX.XXX:/www/wwwroot/git/website.git

由于公钥的缘故原由,这里是不须要密码的,如果成功你的电脑上会涌现一个 website 的文件夹,如果报错请检讨后再进行下面的操作。
第七步:上传代码(git push)

# 打开刚才克隆下来确当地仓库cd website# 创建README.md文件touch README.mdgit add .git commit -m"创建README.md文件"git push

不出意外已经正常上传了,如果报错请检讨权限,上文提到过,如果还弗成可以不才方评论。
第八步:添加钩子写的比较细,现在才来讲钩子,回到我们线上的做事器,下面的是在线上操作的:

#切换到这个目录cd /www/wwwroot/git/website.git/hooks# 天生post-receive文件touch post-receive# 利用vim编辑vim post-receive

在 post-receive 文件里面粘贴:

#!/bin/sh# 打印输出echo '======上传代码到做事器======'# 打开线上项目文件夹cd /www/wwwroot/test/website# 这个很主要,如果不取消的话将不能在cd的路径上进行git操作unset GIT_DIRgit pull origin master# 自动编译vue项目,如有须要请去掉前面的#号# npm run build# 自动更新composer(我暂时没试过)# composer updateecho $(date) >> hook.logecho '======代码更新完成======'

保存后给 post-receive 文件加上运行权限

chmod+xpost-receive

末了一步在本地修正部分内容,然后提交推送 git push,可以看到我们已经实现了自动化支配。

扩展链接:PHP经典算法,或许你须要理解一下

标签:

相关文章

alpacaphp20技巧_一土豪对女助理说

1上高中时数学课,老师问我,把硬币扔到空中,会涌现几种情形?我说无数种,硬币在空中可能被乌鸦叼走了,可能被老鹰抓走了,可能被麻雀叼...

PHP教程 2024-12-13 阅读0 评论0