使用 Gitlab 部署静态站点时遇到问题 CI

Trouble deploying static site using Gitlab CI

我目前正在开发一个包含 Angular SPA 前端回购和 nodeJS 后端回购的项目。 我一直在研究如何在 compiling/minifying 我的项目之后使用 Gitlab-CI 将我的应用程序部署到 RHEL/centOS。 问题是,我不知道如何使用例如。 YUI Compressor 用于在 gitlab-ci.yml 文件中进行压缩。 我也无法使用例如 SSH 将我的文件部署到我的网络服务器上的 Public 文件夹或触发 pm2 重新加载应用程序。 我很想用这种方法实现基本的单元测试,但我仍然不明白它是如何完成的。 我很高兴听到您的任何建议,这些建议可以扩展我的知识。 谢谢!

假设你使用 yuicompressor 作为一个 jar,在 .gitlab 中写这个如何-ci.yml:

build:
  script:
  - yuicompressor.sh

确保您的路径中有一个 shell 脚本,其中 chmod +x 位设置用于执行此操作:

#!/bin/sh
java -jar /path/to/your/yuicompressor-x.y.z.jar

该文件必须位于名为 yuicompressor.sh 的运行器虚拟机上。将跑步者的资源路径硬编码到 .gitlab-ci.yml.

对我来说似乎不太好

请注意,您可能需要 java 应用程序的不同参数。

我将运行器需要的所有可执行工具(主要是脚本)放入文件夹 /glrunner/tools 并在启动时将 /glrunner/tools 放入运行器的路径中。

如果您因为使用 Docker 化的运行器而遇到麻烦,请在 Linux VM 上使用 shell 运行器让一切在 docker 之外工作,然后转移到容器。这是人们犯的第一个菜鸟错误。

一旦您使用容器并且有一个 Docker 文件来启动您的工具,也许您不需要像我最初建议的那样考虑静态 "tool/script" 文件夹,但它是一个很好的入门方法,先学习Gitlab CI Runners,然后再学习Docker.