使用Git管理通过ionCube编码的PHP代码

时间:2017-12-05 21:56:39

标签: php git github version-control ioncube

我现在正在开展一个项目,从ionCube中获益匪浅。我们正在使用Git进行版本控制。 Master分支中的所有代码都使用ionCube加密并移至生产服务器。这是非常繁琐的,因为每次我们改变某些东西时,我们必须使用ionCube手动编码这些变化,然后才能投入生产。我现在正在编写自动化程序。

我的想法是让脚本不断监视我们的主分支以进行更改。如果有新的提交,它将获取更改,使用ionCube加密它们,然后将它们提交回其他地方的Github,以便生产服务器可以获取编码的更改。我的问题是:加密版本应该在自己的回购中还是应该只是项目的另一个分支?

我最初的感觉是它应该是它自己的回购,因为没有任何加密文件会被合并到代码库中。

1 个答案:

答案 0 :(得分:1)

由于可以通过shell脚本对文件进行编码,因此您可以使用预提交挂钩在提交更改之前自动对已更改的文件进行编码。详细步骤如下:

首先,将pre-commit.sample重命名为当地仓库中pre-commit下的.git/hooks

然后,在预提交钩子中添加如下内容:

#!/bin/sh

for file in $(git diff HEAD --name-only)
do
{
  echo "This is changed file: $file"
  # encode the $file
}
done
git add .