CircleCI + Gradle + Heroku部署
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CircleCI + Gradle + Heroku部署相关的知识,希望对你有一定的参考价值。
我正在尝试使用Gradle和Heroku进行持续部署,但由于某种原因,部署步骤未运行。
CircleCI Pipeline result 我已经用Heroku键更新了圆圈ci。
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
你能帮助我吗?部署步骤是否在正确的位置?
答案
您正在使用CircleCI 1.0的部署配置,但您使用的是CircleCI 2.0。
从CircleCI 2.0的文档:
通过CircleCI UI的内置Heroku集成未针对CircleCI 2.0实现。但是,可以手动部署到Heroku。
要使用CircleCI 2.0在heroku上部署,您需要:
- 将环境变量HEROKU_LOGIN,HEROKU_API_KEY,HEROKU_APP_NAME添加到您的CircleCI项目设置
https://circleci.com/gh/<account>/<project>/edit#env-vars
- 创建一个没有密码的私有ssh密钥,并将其添加到您的CircleCI项目设置
https://circleci.com/gh/https://circleci.com/gh/<account>/<project>/edit#ssh
for hostname git.heroku.com - 使用ssh密钥的指纹在.circleci / config.yml文件中添加步骤
- 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
以上是关于CircleCI + Gradle + Heroku部署的主要内容,如果未能解决你的问题,请参考以下文章