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

时间:2015-12-01 22:17:19

标签: node.js openshift 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必须只为{1}}创建一个OpenShift存储库。

1 个答案:

答案 0 :(得分:3)

经过多次阅读和搜索后终于找到了关于此[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