Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| wiki:github [2024/04/12 20:02] – created 5.152.82.90 | wiki:github [2024/11/02 18:52] (current) – 5.152.82.90 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | [[wiki: | ||
| + | |||
| + | ==Show Secrets== | ||
| + | < | ||
| + | echo " | ||
| + | </ | ||
| + | |||
| < | < | ||
| Name: Deploy Dev | Name: Deploy Dev | ||
| Line 4: | Line 11: | ||
| < | < | ||
| on: | on: | ||
| + | pull_request: | ||
| + | branches: [ dev ] | ||
| + | push: | ||
| + | branches: [dev ] | ||
| workflow_dispatch: | workflow_dispatch: | ||
| + | inputs: | ||
| + | run_deploy: | ||
| + | description: | ||
| + | required: true | ||
| + | type: boolean | ||
| + | default: true | ||
| + | run_test: | ||
| + | description: | ||
| + | required: true | ||
| + | type: boolean | ||
| + | default: true | ||
| </ | </ | ||
| < | < | ||
| - | Name: Deploy Dev | + | env: |
| + | GIT_BRANCH: ${{ github.ref_name }} | ||
| + | PROJECT_DIR: | ||
| + | SSH_HOST: 10.0.0.1 | ||
| + | SSH_user: app | ||
| + | SSH_KEY: ${{ secrets.DEV_KEY }} | ||
| + | SLACK_CHANNEL: | ||
| + | SLACK_BOT_TOKEN: | ||
| + | SLACK_PREFIX: | ||
| </ | </ | ||
| < | < | ||
| - | Name: Deploy Dev | + | jobs: |
| + | deploy: | ||
| + | name: Deploy Dev | ||
| + | runs-on: ubuntu-latest | ||
| + | steps: | ||
| </ | </ | ||
| < | < | ||
| - | Name: Deploy Dev | + | - name: Get Code |
| + | uses: appleboy/ | ||
| + | with: | ||
| + | host: ${{ env.SSH_HOST }} | ||
| + | username: ${{ env.SSH_USER }} | ||
| + | key: ${{ env.SSH_KEY }} | ||
| + | script_stop: | ||
| + | script: | | ||
| + | cd ${{ env.PROJECT_DIR}} | ||
| + | git fetch --all | ||
| + | git reset --hard origin/${{ env.GIT_BRANCH }} | ||
| + | sed -i ' | ||
| + | echo " | ||
| </ | </ | ||
| < | < | ||
| - | Name: Deploy | + | - name: Deploy |
| + | uses: appleboy/ | ||
| + | with: | ||
| + | host: ${{ env.SSH_HOST }} | ||
| + | username: ${{ env.SSH_USER }} | ||
| + | key: ${{ env.SSH_KEY }} | ||
| + | command_timeout: | ||
| + | script_stop: | ||
| + | script: | | ||
| + | cd cd ${{ env.PROJECT_DIR }} | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | sleep 5 | ||
| + | if [ -z $(docker ps -qf name=" | ||
| </ | </ | ||
| < | < | ||
| - | Name: Deploy | + | - name: Deploy |
| + | uses: appleboy/ | ||
| + | with: | ||
| + | host: ${{ env.SSH_HOST }} | ||
| + | username: ${{ env.SSH_USER }} | ||
| + | key: ${{ env.SSH_KEY }} | ||
| + | script_stop: | ||
| + | script: | | ||
| + | cd ${{ env.PROJECT_DIR }} | ||
| + | docker system prune -f | ||
| + | docker compose build | ||
| + | docker compose down | ||
| + | docker compose up -d | ||
| + | </ | ||
| + | < | ||
| + | - name: Slack Message | ||
| + | uses: slackapi/ | ||
| + | if: always() | ||
| + | with: | ||
| + | channel-id: ${{ env.SLACK_CHANNEL }} | ||
| + | payload: | | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | - name: 'Get vars' | ||
| + | run: | | ||
| + | for GROUP in $(gcloud compute instance-groups unmanaged list --filter=" | ||
| + | for INSTANCE in $(gcloud compute instance-groups unmanaged list-instances ${GROUP//#/ } --format=" | ||
| + | INSTANCE_HOST=" | ||
| + | done | ||
| + | done | ||
| + | |||
| + | echo ' | ||
| + | echo $INSTANCE_HOST >> $GITHUB_ENV | ||
| + | echo ' | ||
| + | </ | ||
| + | < | ||
| + | - name: Cloudflare Clear Cache | ||
| + | env: | ||
| + | | ||
| + | run: | | ||
| + | curl -X POST " | ||
| + | -H " | ||
| + | -H " | ||
| + | | ||
| + | |||
| + | </ | ||
| + | < | ||
| + | test: | ||
| + | name: Run Test | ||
| + | needs: [deploy] | ||
| + | if: >- | ||
| + | always() && needs.deploy.result == ' | ||
| + | needs.deploy.result == ' | ||
| + | needs.deploy.result == ' | ||
| + | runs-on: ubuntu-latest | ||
| + | steps: | ||
| + | ... | ||
| + | </ | ||
| + | < | ||
| + | docker: | ||
| + | name: Build Image | ||
| + | runs-on: ubuntu-latest | ||
| + | steps: | ||
| + | - name: Checkout | ||
| + | uses: actions/ | ||
| + | |||
| + | - name: Set up Docker Buildx | ||
| + | uses: docker/ | ||
| + | |||
| + | - name: Build and push | ||
| + | uses: docker/ | ||
| + | with: | ||
| + | file: .github/ | ||
| + | push: true | ||
| + | tags: user/ | ||
| + | secrets: | | ||
| + | GIT_AUTH_TOKEN=${{ secrets.DOCKERHUB_TOKEN }} | ||
| </ | </ | ||