Главная

Java


1)

регистрируем домен второго уровня .
Например:
heroku-test-app-123-456

2)

добавляем файлик в корень проекта .gitlab-ci.yml
Оранжевым цветом помечено , то что нужно заменить в файле на свои значения!

Содержимое файлика:

variables:
  # This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
  # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
  MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
  # As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used
  # when running from the command line.
  # `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins.
  MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"

cache:
  paths:
    - .m2/repository

stages:
  - build
  - deploy

build:

  stage: build
  script:
    - 'mvn $MAVEN_CLI_OPTS package'
  only:
    - dev

  image: maven:3.3.9-jdk-8

deploy:
  stage: deploy
  image: ruby:latest
  script:
    - apt-get update -qy
    - apt-get install -y ruby-dev
    - gem install dpl
    - dpl --provider=heroku --app=$HEROKU_DOMAIN_NAME --api-key=$K8S_SECRET_HEROKU_API_KEY
  only:
    - dev



3)

Заходим в Gitlab .
Settings -> Ci/CD -> Environment variables
добавляем K8S_SECRET_HEROKU_API_KEY (который берем из панели управления Heroku)
добавляем HEROKU_DOMAIN_NAME (имя домена зарегистрированного в Heroku)

4)

коммитим в репу

5)

Заходим в Ci/CD
ждем когда Джоба закончит свою работу .

6)

проверяем результат


Полезные ссылки.