2016-11-18 6 views
2

웹 응용 프로그램을 개발하는 데 react-starter-kit을 사용하고 원격 저장소 인 Gitlab을 사용하고 있습니다.
마스터에 푸시 할 때마다 npm run deploy 스크립트가 실행되도록 지속적인 배포를 구성하려고합니다.CI from 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' 파일을 볼 수 있습니까? 또한 파이썬이지만 도움이 될 것입니다 : 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