-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
executable file
Β·121 lines (98 loc) Β· 3.78 KB
/
Copy pathdeploy.sh
File metadata and controls
executable file
Β·121 lines (98 loc) Β· 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
set -e
echo "π Central Portal λ°°ν¬ μμ..."
echo "========================================"
# νλ‘μ νΈ λ£¨νΈλ‘ μ΄λ
cd /Users/taesupyoon/bootpay/server/sdk/java
# λ°°ν¬ μ€μ (publish.gradleκ³Ό λκΈ°ν)
PUBLISH_GROUP_ID="io.github.bootpay"
PUBLISH_ARTIFACT_ID="backend"
PUBLISH_VERSION="3.0.3"
# κ·Έλ£Ή IDλ₯Ό κ²½λ‘λ‘ λ³ν (io.github.bootpay -> io/github/bootpay)
GROUP_PATH="${PUBLISH_GROUP_ID//.//}"
echo "π λ°°ν¬ μ 보:"
echo " - Group ID: $PUBLISH_GROUP_ID"
echo " - Artifact ID: $PUBLISH_ARTIFACT_ID"
echo " - Version: $PUBLISH_VERSION"
echo "========================================"
echo "π¦ Step 1: κΈ°μ‘΄ λΉλ μ 리..."
rm -rf core/build/repo
rm -f central-bundle.zip
echo "π¦ Step 2: μλ‘μ΄ publication μμ±..."
./gradlew core:publishReleasePublicationToLocalRepoRepository
echo "π¦ Step 3: λ²λ€ μμ±..."
cd core/build/repo
# λ²μ λλ ν 리μ λͺ¨λ νμΌμ λ²λ€μ ν¬ν¨ (jar, pom, module λ° μλͺ
/체ν¬μ¬ νμΌ)
zip -r ../../../central-bundle.zip \
${GROUP_PATH}/${PUBLISH_ARTIFACT_ID}/${PUBLISH_VERSION}/
cd ../../../
echo "β
λ²λ€ μμ± μλ£: $(ls -lh central-bundle.zip)"
echo "π Step 4: μΈμ¦ μ 보 μ€μ ..."
OSSRH_USERNAME="i4oDa5"
OSSRH_PASSWORD="uh9Wgv6DYCHET2H8M2XLDIKnP82Eigtdz"
BEARER_TOKEN=$(echo -n "${OSSRH_USERNAME}:${OSSRH_PASSWORD}" | base64)
echo "β¬οΈ Step 5: Central Portalμ μ
λ‘λ..."
DEPLOYMENT_ID=$(curl --silent --request POST \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--form bundle=@central-bundle.zip \
https://central.sonatype.com/api/v1/publisher/upload)
if [ -z "$DEPLOYMENT_ID" ]; then
echo "β μ
λ‘λ μ€ν¨!"
exit 1
fi
echo "β
μ
λ‘λ μ±κ³΅!"
echo "π Deployment ID: $DEPLOYMENT_ID"
echo "β³ Step 6: λ°°ν¬ μν νμΈ μ€..."
sleep 5
echo "π Step 7: μν μ‘°ν..."
STATUS_RESPONSE=$(curl --silent --request POST \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
"https://central.sonatype.com/api/v1/publisher/status?id=${DEPLOYMENT_ID}")
echo "π λ°°ν¬ μν:"
echo "$STATUS_RESPONSE" | jq .
# μν νμΈ
DEPLOYMENT_STATE=$(echo "$STATUS_RESPONSE" | jq -r '.deploymentState')
echo ""
echo "========================================"
echo "π― νμ¬ μν: $DEPLOYMENT_STATE"
case $DEPLOYMENT_STATE in
"PENDING")
echo "β³ κ²μ¦ λκΈ° μ€μ
λλ€."
;;
"VALIDATING")
echo "π κ²μ¦ μ§ν μ€μ
λλ€."
;;
"VALIDATED")
echo "β
κ²μ¦ μλ£! μλ λ°°ν¬κ° νμν©λλ€."
echo "π μλ λ°°ν¬λ₯Ό μλν©λλ€..."
PUBLISH_RESPONSE=$(curl --silent --request POST \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--write-out "HTTPSTATUS:%{http_code}" \
"https://central.sonatype.com/api/v1/publisher/deployment/${DEPLOYMENT_ID}")
HTTP_STATUS=$(echo $PUBLISH_RESPONSE | grep -o "HTTPSTATUS:[0-9]*" | cut -d: -f2)
if [ "$HTTP_STATUS" -eq "204" ]; then
echo "π λ°°ν¬ μμλ¨! Maven Centralμ κ³§ λ°μλ©λλ€."
else
echo "β οΈ μλ λ°°ν¬ μ€ν¨. Central Portalμμ μλμΌλ‘ λ°°ν¬νμΈμ."
fi
;;
"PUBLISHING")
echo "π Maven Centralμ λ°°ν¬ μ€μ
λλ€."
;;
"PUBLISHED")
echo "π λ°°ν¬ μλ£! Maven Centralμμ μ¬μ© κ°λ₯ν©λλ€."
;;
"FAILED")
echo "β λ°°ν¬ μ€ν¨!"
echo "π μ€λ₯ λ΄μ©:"
echo "$STATUS_RESPONSE" | jq '.errors'
;;
*)
echo "β μ μ μλ μν: $DEPLOYMENT_STATE"
;;
esac
echo ""
echo "========================================"
echo "π Central Portal νμΈ: https://central.sonatype.com/"
echo "π Deployment ID: $DEPLOYMENT_ID"
echo "π μ€ν¬λ¦½νΈ μλ£!"