@@ -0,0 +1,36 @@
|
||||
name: Deploy
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: DNS kaydini garanti et (Cloudflare)
|
||||
env:
|
||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||
CF_ZONE_ID: ${{ secrets.CF_ZONE_ID }}
|
||||
HOSTNAME: panel.akalan.dev
|
||||
IP: 148.135.181.126
|
||||
run: |
|
||||
EXISTING=$(curl -s -H "Authorization: Bearer $CF_API_TOKEN" \
|
||||
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?type=A&name=$HOSTNAME")
|
||||
RECORD_ID=$(echo "$EXISTING" | python3 -c "import json,sys; d=json.load(sys.stdin); r=d.get('result',[]); print(r[0]['id'] if r else '')")
|
||||
if [ -z "$RECORD_ID" ]; then
|
||||
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
|
||||
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
|
||||
-d "{\"type\":\"A\",\"name\":\"$HOSTNAME\",\"content\":\"$IP\",\"ttl\":1,\"proxied\":true}" > /dev/null
|
||||
echo "DNS kaydi olusturuldu."
|
||||
else
|
||||
echo "DNS kaydi zaten var, atlaniyor."
|
||||
fi
|
||||
|
||||
- name: docker compose up -d --build
|
||||
env:
|
||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||
CF_ZONE_ID: ${{ secrets.CF_ZONE_ID }}
|
||||
SELF_CONTAINER_NAME: deploy-panel
|
||||
run: docker compose up -d --build
|
||||
Reference in New Issue
Block a user