项目频繁需要提交部署到测试机器上,因此想实现类似 Heroku 平台上的提交代码实现部署,因此接触了 Git 里面的钩子 hook,并对钩子进行了解。项目采用 Gitlab 管理代码,因此到服务器上对项目路径下的 hooks post-receive 脚本做了修改,终于实现了自动部署。但是,新的问题产生了: Gitlab 上每一个项目 push 的时候,我们的项目都会实现部署,太令人 amazing 了!! 于是又回到 Gitlab 服务器去查看钩子里面的内容。当用 ls -al 查看 hooks 下的内容时候,谜底突然揭开: Gilab 上所有项目库下的 hooks post-receive 都链接到 gitlab-shell/hooks/post-receive 这个脚本上,取消自己项目里钩子到 gitlab-shell 下的链接 link 把部署的脚本单独写到自己项目的 post-receive,问题终于解决。 问题原因:shell 到 server 后,终端不支持彩色高亮显示,全部是白色显示,无法分清楚文件、目录和链接,对 bashrc 做下修改即可。 具体为啥让所有项目的 hooks 都链接到同一个文件,这个就不去揣测了
附 bashrc 内容:
alias ls='ls --color=auto' alias grep='grep --color=auto'
#export PS1='/h:/w/$ ' umask 022
export LS_OPTIONS='--color=auto'
eval "dircolors
"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'