Snažím sa zabezpečiť nepretržité nasadenie s programami Gradle a Heroku, ale z nejakého dôvodu krok nasadenia nie je spustený.
Výsledok potrubia CircleCI
Kruh ci som už aktualizoval pomocou kľúča Heroku.
version: 2
jobs:
build:
docker:
- image: circleci/openjdk:8-jdk
working_directory: ~/repo
environment:
JVM_OPTS: -Xmx3200m
TERM: dumb
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
- v1-dependencies-
- run: gradle dependencies
- save_cache:
paths:
- ~/.m2
key: v1-dependencies-{{ checksum "build.gradle" }}
# run tests!
- run: gradle test
deployment:
staging:
branch: master
heroku:
appname: my-heroku-app
Mohli by ste mi pomôcť, chlapci? Je krok nasadenia na správnom mieste?
odpovede:
0 pre odpoveď č. 1Používate konfiguráciu nasadenia pre CircleCI 1.0 ale používate CircleCI 2.0.
Z dokumentácie pre CircleCI 2.0:
Zabudovaná integrácia Heroku prostredníctvom používateľského rozhrania CircleCI nie je implementované pre CircleCI 2.0. Je však možné nasadiť do Heroku ručne.
Na nasadenie na heroku s CircleCI 2.0 potrebujete:
- pridajte premenné prostredia HEROKU_LOGIN, HEROKU_API_KEY, HEROKU_APP_NAME do nastavení projektu CircleCI
https://circleci.com/gh/<account>/<project>/edit#env-vars
- vytvorte súkromný kľúč ssh bez prístupovej frázy a pridajte ho do nastavení projektu CircleCI
https://circleci.com/gh/https://circleci.com/gh/<account>/<project>/edit#ssh
pre názov hostiteľa git.heroku.com - pridajte kroky do súboru .circleci / config.yml pomocou odtlačku prsta vášho kľúča ssh
- run: name: Setup Heroku command: | ssh-keyscan -H heroku.com >> ~/.ssh/known_hosts cat > ~/.netrc << EOF machine api.heroku.com login $HEROKU_LOGIN password $HEROKU_API_KEY EOF cat >> ~/.ssh/config << EOF VerifyHostKeyDNS yes StrictHostKeyChecking no EOF - add_ssh_keys: fingerprints: - "<SSH KEY fingerprint>" - deploy: name: "Deploy to Heroku" command: git push --force git@heroku.com:$HEROKU_APP_NAME.git HEAD:refs/heads/master