无法使用Gitlab CI部署静态站点

时间:2016-11-25 09:30:39

标签: continuous-integration gitlab gitlab-ci

我目前正在开发一个包含Angular SPA Frontend Repo和nodeJS后端repo的项目。 我一直在研究如何在编译/缩小项目后使用Gitlab-CI将我的应用程序部署到RHEL / centOS。 问题是,我无法弄清楚,如何使用例如。 YUI Compressor在gitlab-ci.yml文件中缩小。 我也很难使用SSH来将我的文件部署到我的网络服务器上的公共文件夹中,或者触发pm2重新加载应用程序。 我喜欢用这种方法实现基本的单元测试,但我仍然无法理解它是如何完成的。 我很高兴听到你的任何建议,可以扩大我的知识。 谢谢!

1 个答案:

答案 0 :(得分:1)

假设您正在使用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的跑步者vm上。将你的跑步者资源的路径硬编码到.gitlab-ci.yml对我来说似乎并不好。

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

我将我的跑步者所需的所有可执行工具(主要是脚本)放入文件夹/glrunner/tools,并在我启动时将/glrunner/tools放入我的跑步者的PATH中。

如果您因为使用Dockerized跑步者而遇到麻烦,请在Linux VM上使用shell运行程序在OUTSIDE docker上运行一切,然后转移到容器。这是人们犯的第一个新秀错误。

一旦你使用容器并且你有一个Dockerfile来启动你的工具,也许你不需要考虑静态"工具/脚本"我最初建议的文件夹,但它是一个很好的入门方式,首先学习Gitlab CI Runners,然后学习Docker。