GitLab签入后自动附加到bash脚本
社区,而不必经历设置GitLab CI(持续集成)的过程,你们中有人知道我如何自动化下面所述的过程吗GitLab签入后自动附加到bash脚本,git,continuous-integration,gitlab,git-bash,continuous-deployment,Git,Continuous Integration,Gitlab,Git Bash,Continuous Deployment,社区,而不必经历设置GitLab CI(持续集成)的过程,你们中有人知道我如何自动化下面所述的过程吗 GitLab签入后,是否将签入文件名添加到文本文件或更新引用签入文件完整路径的bash脚本 然后将使用bash脚本在每个签入文件中执行代码 在后台,这些文件是构建表/视图/包所需的SQL DDL文件。我希望我的开发团队只关心DDL的更新,并且有一个自动构建数据库对象的过程 这里的想法是有一个bash/perl/ksh任意文件,它调用SQLPLUS并在每个文件中顺序执行DDL 要明确的是,我已经知
欢迎任何想法 这里有两种方法 Git挂钩 这可以使用Git钩子实现。Git钩子是在存储库中发生某些事件时执行的函数。它们要么是服务器端,要么是客户端 在您的案例中,当有人推送到存储库时,服务器端钩子将在GitLab上执行,而客户端钩子则在客户端上执行,例如在提交之前或之后 在您的情况下,服务器端post接收钩子可能会工作。有关更多详细信息,请查看Git挂钩上的一个教程,例如。您基本上会编写脚本(如您在问题中所指出的),然后将其设置为服务器上的post receive挂钩,以便在repo发生更改时执行 连续积分 虽然Git钩子可能适用于这种情况,但这听起来确实像是一个连续集成工具的用例,比如,或 这些工具用于在存储库中发生更改后触发生成。构建通常包含编译源代码、运行单元测试、将应用程序部署到服务器、创建应用程序的可分发版本等内容 在您的案例中,您将设置一个构建计划,该计划将按照您在问题中描述的内容执行(引入更改、更新文本文件、运行数据库脚本等等) 根据我的经验,我建议您研究一个持续集成系统。这是做你所要求的事情的标准方式,你会发现当有人做出承诺时,你还想做其他事情。有一个像CI这样的标准化流程将非常有帮助 Git钩子可能适用于此,但更难维护,灵活性也更低