使用 Gitlab CI 构建节点应用并将其部署到 Openshift

Build and deploy node app to Openshift using Gitlab CI

只需在 digitalocean 中挂载一个 Gitlab 以跟踪某些项目的版本,但现在我已经阅读了一些有关 Gitlab 的信息 我想知道您是否可以设置 Gitlab CI 以便每次提交时自动构建应用程序,如果构建成功,可以部署到 OpenShift。

我认为我的 .gitlab-ci.yml 应该是这样的:

stages:
  - build
  - deploy

before_script:
  - npm install

job_build:
  stage: build
  script:
    - grunt build

job_deploy:
  stage: deploy

但我真的不知道这是否有效,也没有告诉 Gitlab CI 必须只 git push 到 OpenShift 存储库。

经过大量阅读和搜索,终于找到了关于此 [1] 的文档,最后我使用以下 .gitlab-ci.yml

解决了一些文件
stages:
  - build
  - deploy

job_build:
  stage: build
  script:
    - npm install -g grunt-cli
    - npm rebuild node-sass
    - npm install
    - grunt build

job_deploy:
  stage: deploy
  script:
    - apt-get update -yq
    - apt-get install -y ruby-dev rubygems
    - gem install dpl
    - dpl --provider=openshift --user=$OPENSHIFT_USER --password=$OPENSHIFT_PASS --domain=mydomain --app=example
  only:
    - master

Travis 库调用 dpl [2] 支持大量提供程序 [3]

[1]http://doc.gitlab.com/ce/ci/deployment/README.html

[2]https://github.com/travis-ci/dpl

[3]https://github.com/travis-ci/dpl#supported-providers