@@ -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