2016-11-18 122 views
2

我使用react-starter-kit開發我的Web應用程序,並使用Gitlab作爲我的遠程git存儲庫。
我想要配置一個連續部署,以便在每次向主服務器發送請求時,都會執行npm run deploy腳本。使用Gitlab和Heroku的CI

從我的本地PC上,執行npm run deploy構建節點應用程序並將其推送到遠程的heroku git存儲庫。它在我的電腦上使用本地憑據。

我已經配置了gitlab亞軍(在.yml文件中)執行相同的npm run deploy,但它失敗,並且Error: fatal: could not read Username for 'https://git.heroku.com': No such device or address。 我需要找到一種方法來驗證heroku的gitlab亞軍。我試圖設置變量HEROKU_API_KEY,但它也沒有工作。

我該如何從我的gitlab亞軍推送到我的heroku git回購?

+0

我們可以看到你的'.gitlab-ci.yml'文件嗎?另請參閱此,它是Python,但它可能會有所幫助:https://docs.gitlab.com/ce/ci/examples/test-and-deploy-python-application-to-heroku.html#configure-project –

回答

2

你應該在你的yml中使用dlp。嘗試這樣的事情在.gitlab-ci.yml

before_script: 
    - apt-get -qq update 
    - npm set progress=false 
    - npm install --silent 

deploy: 
    script: 
    - npm run deploy 
    - apt-get install -yqq ruby ruby-dev --silent 
    - gem install dpl 
    - dpl --provider=heroku --app=your-app-name --api-key=$HEROKU_API_KEY 
    only: 
    - master 

您preferaby想從GitLab添加環境變量$ HEROKU_API_KEY,這裏就不直接。

+1

它也是這裏值得一提的是,您可以在構建的不同階段使用多個圖像。你可以在部署步驟和'image:node:latest'中添加'image:ruby:latest',這樣你就可以使用'artifacts'切換Docker,在各個階段之間傳遞構建的文件。 – xam