我设定了一个
GIT_STRATEGY
可变到
none
在一个
.gitlab-ci.yml
文件因此,存储库不会自动构建在部署服务器中。因此,我们避免构建包含所有历史记录的git存储库
git-archive
命令将被使用。
这样,只需要从GitLab服务器复制所需的文件。
正如我们所知
gitlab ci。yml
文件实际上正在发送给跑步者。这不是一种将bash脚本发送给runner的方法吗?然后我会做
gitlab ci。yml
文件来启动bash脚本并完成一项工作。
当然,我可以将这些命令放到yml中,但是由于yml语法的原因,有一些限制。我也可以成为跑步者
scp
但这太复杂了。有什么想法吗?
使现代化
让我试着接近我将要实现的目标。有几个bash脚本文件。其中每一个都是部署的特定场景。例如,从GitLab中提取项目文件,删除文件夹中的文件
public
并将项目文件移到其中。
另一个脚本文件从GitLab中提取项目文件,将文件移动到文件夹并创建备份。
另一个脚本文件从GitLab中提取项目文件,移动文件,创建备份并执行数据库迁移。等
有三位主持人:
-
管理员的本地PC。
-
远程GitLab服务器
-
远程部署服务器,用于服务器网站。(它有Nginx或Apache)
其中一个脚本文件将在部署服务器上执行。有很多脚本文件,所以我们必须不时提供替换脚本文件的服务。
问题是如何将脚本文件带到部署服务器,以便运行程序可以运行它?