2016-11-18 12 views
2

私のWebアプリケーション開発にはreact-starter-kit、リモートgitリポジトリはGitlabです。
マスターへのすべてのプッシュでnpm run deployスクリプトが実行されるような、継続的なデプロイメントを設定したいとします。CI with Gitlab and Heroku

私のローカルPCから、npm run deployを実行するとノードアプリケーションがビルドされ、リモートheroku gitリポジトリにプッシュされます。それは私のPC上のローカル資格情報を使用します。

同じnpm run deployを実行するようにgitlabランナー(.ymlファイル内)を設定しましたが、それはError: fatal: could not read Username for 'https://git.heroku.com': No such device or addressで失敗します。 私はgitlabランナーをherokuに認証する方法を見つける必要があります。私はenv変数HEROKU_API_KEYを設定しようとしましたが、動作しませんでした。

gitlabランナーからheroku git repoにプッシュするにはどうすればよいですか?

+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 

はあなたがいないここでは、直接、GitLabからのenv変数$ HEROKU_API_KEYを追加したいpreferaby。

+1

それもここではビルドのさまざまな段階で複数の画像を使用できることに言及する価値があります。 'image:ruby:latest'を展開ステップに追加することができます。' image:node:latest'これは 'artifacts:'を使ってドッカーで切り替えてステージ間にビルドされたファイルを渡すことを可能にします。 – xam