mirror of
https://github.com/valitydev/java-workflow.git
synced 2024-11-06 01:25:18 +00:00
804f75834b
IMP-31: support deploy epic branches for java services |
||
---|---|---|
.github/workflows | ||
CODEOWNERS | ||
LICENSE | ||
README.md | ||
renovate.json |
java-workflow
В репозитории хранятся общие описания для сборок java/kotlin проектов. Сборка наших проектов бывает разной, в зависимости от типа собираемого проекта:
- Service - Maven сборка сервиса с деплоем docker image в docker hub
- Thrift - собираем thrift протокол и деплоим в maven central
- Library - собираем библиотеку и деплоим в maven central
- Swag - собираем openapi, деплоим в maven central и публикуем в github pages
Чтобы начать использовать java-workflow в своем репозитории - добавьте в директорию /.github/workflows/
файлы
build.yml
и deploy.yml
, файлов описания workflow не обязательно должно быть два, вы можете самостоятельно описать workflow с использованием java-workflow
.
Ниже приведен пример для service
типа проекта. Аналогично и для других типов, изменяется только название файла и передаваемые параметры.
build.yml
name: Build Maven Artifact
on:
pull_request:
branches:
- '*'
jobs:
build:
uses: valitydev/java-workflow/.github/workflows/maven-service-build.yml@v1
deploy.yml
name: Deploy Docker Image
on:
push:
branches:
- 'master'
jobs:
build-and-deploy:
uses: valitydev/java-workflow/.github/workflows/maven-service-deploy.yml@v1
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
Service
build.yml
uses: valitydev/java-workflow/.github/workflows/maven-service-build.yml@v1
deploy.yml
uses: valitydev/java-workflow/.github/workflows/maven-service-deploy.yml@v1
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
Thrift
build.yml
uses: valitydev/java-workflow/.github/workflows/maven-thrift-build.yml@v1
deploy.yml
uses: valitydev/java-workflow/.github/workflows/maven-thrift-deploy.yml@v1
secrets:
server-username: ${{ secrets.OSSRH_USERNAME }}
server-password: ${{ secrets.OSSRH_TOKEN }}
deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
erlang-build-verify.yml
uses: valitydev/java-workflow/.github/workflows/erlang-thrift-build.yml@v1
Library
build.yml
uses: valitydev/java-workflow/.github/workflows/maven-library-build.yml@v1
deploy.yml
uses: valitydev/java-workflow/.github/workflows/maven-library-deploy.yml@v1
secrets:
server-username: ${{ secrets.OSSRH_USERNAME }}
server-password: ${{ secrets.OSSRH_TOKEN }}
deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
Swag
build.yml
uses: valitydev/java-workflow/.github/workflows/maven-swag-build.yml@v1
deploy.yml
uses: valitydev/java-workflow/.github/workflows/maven-swag-deploy.yml@v1
secrets:
server-username: ${{ secrets.OSSRH_USERNAME }}
server-password: ${{ secrets.OSSRH_TOKEN }}
deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
github-token: ${{ secrets.GITHUB_TOKEN }}
mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}