- 怎么连接阿里云
- 平常都是通过阿里云的管理终端进行命令行了,就是网页版的终端。但是在进行git来拉取代码的时候,要使用ssh。很尴尬,生成的公钥,无法复制到github的setting上去。总不能自己一个个敲键盘输入吧。所以直接google怎么进行ssh连接。
- 本人是使用deepin的,所以谷歌到openssh-client可以直接设置。
- 先参考阿里云的文档点击
按照步骤来,一步步进行步骤
最后成功登录远程阿里云服务器。
成功
- 相关参考 openssh
-使用git hooks进行项目自动部署
- 建议google先搜索一下
git hooks
- 在阿里云的服务器中
cd /root // 切换到root,这个暂无要求,看你喜欢的,我就喜欢在root目录下新建目录
mkdir - p opt/repo && cd opt/repo && git init --bare test.git // 新建目录,切换到repo目录下,同时初始化成裸仓库
git init 与git init --bare的区别- 然后
cd test.git/hooks && cp post-update.sample post-update && vim post-update
- 看了很多教程,写的太多了,还不如直接写个bash脚本进行,shell教程 多看看教程,我下面的脚本很简单的,简直muggle
粘贴下面内容
#! /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".
unset GIT_DIR # 千万不要忘记写,我已经栽了一次坑
echo "begin cd path"
DIR_ONE="/root/var/build/management"
cd $DIR_ONE
echo "cd dir end"
if [ -d $DIR_ONE ];
then
echo "remove dir"
cd /root/var/build
rm -rf management
mkdir management && cd management
echo "begin git init"
git init
git remote add origin "/root/opt/repo/test.git"
git clean -df
git pull origin master
cd $DIR_ONE
else
echo 'fuck'
mkdir -p $DIR_ONE
echo 'make dir success'
fi
echo "git pull end"
exit 0
warn: 不要忘记让脚本有权限继续执行chmod +x post-update
- 上面的操作都是在服务器中进行的,现在我们要到本地的电脑上(就是自己的电脑进行操作)
- 新建文件夹demo
mkdir demo
,切换到demo目录下cd demo
,然后初始化git init
,然后新建一个文件touch a.html
,然后进行发布上传的工作,相关命令行git add prod root@hostIp(阿里云的公网ip地址):/root/opt/repo/test.git(服务器上git init --bare 初始的.git文件地址,一定要绝对完整的路径
git add . && git commit -m'test' && git push prod master
,然后输入以上命令行之后,会要求你输入登录阿里云的密码,然后输入密码,不出意外就会出现成功的样子 说明成功了
- 然后登录到阿里云的服务器,
cd /root/var/build/management
ls
,就能看见你上传的代码了。- 写的不好,自己看看能懂。。。哎,跟看别人文档一样,不知所谓。。。
网友评论