2024-03-08 12:21:39 +08:00
|
|
|
name: Deploy Docker Images
|
|
|
|
run-name: build and deploy docker image to server.
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
|
|
Docusaurus build and Server deploy:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2024-10-17 23:31:06 +08:00
|
|
|
- name: Set up SSH
|
|
|
|
run: |
|
|
|
|
mkdir -p ~/.ssh/
|
|
|
|
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
|
|
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
|
|
ssh-keyscan -t ed25519 -p 22022 frp-by1.wwvvww.cn >> ~/.ssh/known_hosts
|
|
|
|
- name: Clone repository
|
|
|
|
run: |
|
|
|
|
echo "git clone --depth 1 --branch=${GITHUB_REF##*/} ssh://git@frp-by1.wwvvww.cn:22022/${{ gitea.repository }}.git"
|
|
|
|
git clone --depth 1 --branch=${GITHUB_REF##*/} ssh://git@frp-by1.wwvvww.cn:22022/${{ gitea.repository }}.git .
|
|
|
|
git checkout ${GITHUB_SHA}
|
2024-06-30 23:38:22 +08:00
|
|
|
- name: Notify-Start
|
|
|
|
if: ${{ always() }}
|
|
|
|
run: |
|
|
|
|
echo "${{ github.repository }} 开始构建..." > notify.tpl
|
2024-10-24 20:46:36 +08:00
|
|
|
echo "构建地址: https://amass.fun/gitea/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl
|
|
|
|
echo "仓库地址: https://amass.fun/gitea/${{ github.repository }}">> notify.tpl
|
2024-06-30 23:38:22 +08:00
|
|
|
echo "提交ID: $(git rev-parse --short HEAD)">> notify.tpl
|
|
|
|
echo -n "提交消息: ${{ github.event.head_commit.message }}">> notify.tpl
|
|
|
|
cat notify.tpl | envsubst | jq -sR . | xargs -0 -I {} curl -H "Content-Type: application/json" -X POST -d '{"type":"text","msg":{} }' https://amass.fun/notify
|
2024-03-08 12:21:39 +08:00
|
|
|
- name: Get changed files
|
|
|
|
id: changed-dockerfiles
|
2024-03-08 12:25:03 +08:00
|
|
|
uses: tj-actions/changed-files@v42
|
2024-03-08 12:21:39 +08:00
|
|
|
with:
|
|
|
|
files: |
|
|
|
|
**.dockerfile
|
2024-10-09 22:58:52 +08:00
|
|
|
- name: Login to ACR
|
|
|
|
uses: aliyun/acr-login@v1
|
2024-06-30 23:24:49 +08:00
|
|
|
with:
|
2024-10-09 22:58:52 +08:00
|
|
|
login-server: https://registry.cn-shenzhen.aliyuncs.com
|
2024-06-30 23:24:49 +08:00
|
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
2024-03-08 12:21:39 +08:00
|
|
|
- name: Build docker image and deploy.
|
|
|
|
run: |
|
|
|
|
for file in ${{ steps.changed-dockerfiles.outputs.all_changed_files }}; do
|
|
|
|
echo "${file} changed."
|
2024-06-30 22:33:23 +08:00
|
|
|
resources/build.sh build ${file}
|
2024-03-08 12:21:39 +08:00
|
|
|
done
|
2024-06-30 23:38:22 +08:00
|
|
|
- name: Clean <none> Docker Image
|
2024-10-10 20:58:38 +08:00
|
|
|
run: docker images -f "dangling=true" -q | xargs -r docker rmi || true
|
2024-06-30 22:33:23 +08:00
|
|
|
- name: Notify-End
|
|
|
|
if: ${{ always() }}
|
|
|
|
run: |
|
|
|
|
echo "${{ github.repository }} 构建结束" > notify.tpl
|
|
|
|
echo "构建状态: ${{ job.status }}">> notify.tpl
|
2024-10-24 20:46:36 +08:00
|
|
|
echo "构建地址: https://amass.fun/gitea/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl
|
|
|
|
echo "仓库地址: https://amass.fun/gitea/${{ github.repository }}">> notify.tpl
|
2024-06-30 22:33:23 +08:00
|
|
|
echo "提交ID: $(git rev-parse --short HEAD)">> notify.tpl
|
|
|
|
echo -n "提交消息: ${{ github.event.head_commit.message }}">> notify.tpl
|
|
|
|
cat notify.tpl | envsubst | jq -sR . | xargs -0 -I {} curl -H "Content-Type: application/json" -X POST -d '{"type":"text","msg":{} }' https://amass.fun/notify
|