1
mirror of https://github.com/CarmJos/EasySQL.git synced 2024-09-20 05:45:47 +00:00
EasySQL/.github/workflows/deploy.yml

138 lines
4.9 KiB
YAML
Raw Normal View History

2021-12-11 16:09:19 +00:00
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
2022-01-12 03:09:17 +00:00
name: "Project Deploy"
2021-12-11 16:09:19 +00:00
on:
# 支持手动触发构建
workflow_dispatch:
release:
# 创建release的时候触发
types: [ published ]
jobs:
2022-06-02 19:17:37 +00:00
packages-deploy:
2022-06-02 19:04:22 +00:00
name: "Publish Project (GitHub Packages)"
2021-12-11 16:09:19 +00:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
server-id: github
server-username: MAVEN_USERNAME
server-password: MAVEN_TOKEN
2022-01-25 15:39:26 +00:00
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
2022-01-14 04:40:35 +00:00
2022-06-02 19:17:37 +00:00
- name: "Packages Deploy"
run: mvn -B -Pgithub deploy --file pom.xml -DskipTests
2021-12-11 16:09:19 +00:00
env:
MAVEN_USERNAME: ${{ github.repository_owner }}
2022-01-14 04:40:35 +00:00
MAVEN_TOKEN: ${{secrets.GITHUB_TOKEN}}
2022-01-25 15:39:26 +00:00
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
2022-01-14 04:40:35 +00:00
central-deploy:
name: "Deploy Project (Central Repository)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
- name: "Central Deploy"
run: mvn -B -Possrh deploy --file pom.xml -DskipTests
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USER }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASS }}
2022-05-29 20:36:10 +00:00
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
2022-06-02 19:17:37 +00:00
github-deploy:
2022-06-02 19:04:22 +00:00
name: "Deploy Project (GitHub Repository)"
2022-05-29 20:36:10 +00:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
2022-06-02 19:04:22 +00:00
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
2022-05-29 20:36:10 +00:00
- name: "Maven Deploy"
run: mvn -B -Plocal deploy --file pom.xml -DskipTests
2022-06-02 19:04:22 +00:00
env:
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
2022-05-29 20:36:10 +00:00
- name: "Copy artifacts"
run: |
rm -rf deploy
mkdir -vp deploy
cp -vrf $HOME/local-deploy/* deploy/
cp -vrf .documentation/repository/README.md deploy/README.md
2022-05-29 20:36:10 +00:00
2022-06-02 19:17:37 +00:00
- name: "Copy Javadoc"
run: |
rm -rf docs
mkdir -vp docs
cp -vrf api/target/apidocs/* docs/
cp -vrf .documentation/javadoc/README.md docs/README.md
2022-06-02 19:17:37 +00:00
- name: "Generate the Javadoc sitemap"
id: sitemap
uses: cicirello/generate-sitemap@v1
with:
base-url-path: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}
path-to-root: docs
- name: "Output stats"
run: |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
2022-05-29 20:36:10 +00:00
- name: "Configure Git"
env:
DEPLOY_PRI: ${{secrets.DEPLOY_PRI}}
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
mkdir -p ~/.ssh/
echo "$DEPLOY_PRI" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
git config --global user.name '${{ github.repository_owner }}'
git config --global user.email '${{ github.repository_owner }}@users.noreply.github.com'
2022-06-02 19:17:37 +00:00
- name: "Commit&Push repository files"
2022-05-29 20:36:10 +00:00
run: |
cd deploy
git init
git remote add origin git@github.com:${{ github.repository_owner }}/${{ github.event.repository.name }}.git
git checkout -b repo
git add -A
git commit -m "Maven project deployment."
2022-06-02 19:17:37 +00:00
git push origin HEAD:repo --force
2022-05-29 20:36:10 +00:00
2022-06-02 19:17:37 +00:00
- name: "Commit&Push documentations"
2022-05-29 20:36:10 +00:00
run: |
2022-06-02 19:17:37 +00:00
cd docs
git init
git remote add origin git@github.com:${{ github.repository_owner }}/${{ github.event.repository.name }}.git
git checkout -b gh-pages
git add -A
git commit -m "API documentation deployment."
git push origin HEAD:gh-pages --force