61 lines
2.3 KiB
YAML
61 lines
2.3 KiB
YAML
name: Re-Pull Docker
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
stack_name:
|
|
description: "stack name"
|
|
required: true
|
|
type: string
|
|
stack_env:
|
|
description: "stack env"
|
|
required: true
|
|
type: choice
|
|
default: "dev"
|
|
options:
|
|
- dev
|
|
- stg
|
|
- prod
|
|
|
|
jobs:
|
|
publish:
|
|
name: Re-Pull Docker ${{ github.event.inputs.stack_name }}
|
|
runs-on: ubuntu-latest
|
|
environment: ${{ vars.PORTAINER_ENV || 'portainer' }}
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
steps:
|
|
- name: Checkout scripts from main
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: main
|
|
sparse-checkout: .github/workflows/script
|
|
|
|
- name: Deploy ke Portainer
|
|
run: bash ./.github/workflows/script/re-pull.sh
|
|
env:
|
|
PORTAINER_USERNAME: ${{ secrets.PORTAINER_USERNAME }}
|
|
PORTAINER_PASSWORD: ${{ secrets.PORTAINER_PASSWORD }}
|
|
PORTAINER_URL: ${{ secrets.PORTAINER_URL }}
|
|
STACK_NAME: ${{ github.event.inputs.stack_name }}-${{ github.event.inputs.stack_env }}
|
|
|
|
- name: Notify success
|
|
if: success()
|
|
run: bash ./.github/workflows/script/notify.sh
|
|
env:
|
|
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
NOTIFY_STATUS: success
|
|
NOTIFY_WORKFLOW: "Re-Pull Docker"
|
|
NOTIFY_DETAIL: "Stack: ${{ github.event.inputs.stack_name }}-${{ github.event.inputs.stack_env }}"
|
|
|
|
- name: Notify failure
|
|
if: failure()
|
|
run: bash ./.github/workflows/script/notify.sh
|
|
env:
|
|
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
NOTIFY_STATUS: failure
|
|
NOTIFY_WORKFLOW: "Re-Pull Docker"
|
|
NOTIFY_DETAIL: "Stack: ${{ github.event.inputs.stack_name }}-${{ github.event.inputs.stack_env }}"
|